Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Performance review #211

Closed
faddat opened this issue Dec 26, 2021 · 7 comments
Closed

Performance review #211

faddat opened this issue Dec 26, 2021 · 7 comments

Comments

@faddat
Copy link
Contributor

faddat commented Dec 26, 2021

goleveldb

https://youtu.be/Ho6DHkZax2c

badgerdb

https://youtu.be/tITLgGKDMDc

rocksdb

https://youtu.be/47PWHwkM0MY

All of notional's relay infrastructure has had to adopt rocksdb (osmosis, terra, gaia, juno) out of necessity. Given the overwhelming improvement, is there any reason not to work it into default workflows (slowly and in a non-jarring manner)

3xish is pretty good-- as is so far-- 100% compatibly.

Reasons not to rocksdb

  • not all go makes compiles not super fun:

cosmos/gorocksdb#3

@boz
Copy link

boz commented Dec 26, 2021

3x on a drop-in-ish replacement is amazing @faddat!

I think that by defining a prefix extractor that partitions by store key prefixes, we may be able to get a big boost in query performance.

@tac0turtle
Copy link
Contributor

Hey, it seems there is some increased performance in your video, but it would be good to get benchmarks and profiles to see the increased performance. Also I believe you would see similar performance across all dbs when they grow in size.

At the end, write performance is not a major issue in the sdk. We are working on changes in IAVL to improve read performance which will improve writes while state executing. This theory was put together through profiling.

@faddat
Copy link
Contributor Author

faddat commented Dec 27, 2021

@marbar3778 could we arrange a call or DM session to discuss relaying?

The issue is reads and I don't know how to properly quantify but this helps a great deal there, too.

I think that if you are following a hunch that IAVL changes will yeild bigger gains-- I think I agree. @ValarDragon and I have discussed this some, too.

@tac0turtle
Copy link
Contributor

Happy to hop on a call!! this is helping push forward on things.

@faddat
Copy link
Contributor Author

faddat commented Jan 2, 2022

@boz -- @marbar3778 explained to me a bit more how we look for things in iavl, and I totally agree, those prefixes should help with performance a great deal.

@faddat
Copy link
Contributor Author

faddat commented May 7, 2022

This is superceded by #248

@faddat faddat closed this as completed May 7, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants