-
Notifications
You must be signed in to change notification settings - Fork 2.2k
Conversation
FYI this version of LevelDB isn't backwards compatible, I get a "corrupted compresssed block contents" exception when trying to sync using my existing database (but presumably this is expected since from what I remember the cached version that we're using on Windows is very very old). Other than that it appears to work fine...I can sync from scratch and stop/resume sync fine. Merge it! 😄 |
All blockchain tests passed on Windows though runtimes were ~50% slower on average, here are the results without the upgrade:
And here are the results with the upgrade:
I wonder if our current version has some special optimizations? |
cc @jwasinger @halfalicious does the new leveldb matches the performance of rocksdb? I see a lot of questions here:
|
Actually, it looks like I had full page heap enabled for both the base (old version of LevelDB) and test (upgraded version of LevelDB) runs, I've disabled it and the delta shrunk to ~17%. I've also done a RocksDB run and the delta is ~69%. Here's the data:
|
Ok, it does not looks so bad now. I think we should go with it then, but let me work a bit on leveldb in Hunter. It is not perfectly integrated as it looks for dependencies in the OS which might cause some problems. I might want to test it also on linux. FYI, we are using this code on Windows currently: https://github.com/ethereum/leveldb. It looks pretty old. Even bitcoin renamed the repo to leveldb-old. It also does not have snappy nor crc32c integrated. |
Codecov Report
@@ Coverage Diff @@
## master #5532 +/- ##
=========================================
- Coverage 62.61% 62.5% -0.11%
=========================================
Files 350 350
Lines 29698 29649 -49
Branches 3344 3335 -9
=========================================
- Hits 18595 18532 -63
- Misses 9893 9909 +16
+ Partials 1210 1208 -2 |
Rebased on #5506 |
@halfalicious can you retest it? |
Apologies for the delay here, didn't notice this until you pinged me on Discord. Re-ran the blockchain tests both with and without the upgrade, here are the new numbers (these are significantly lower than the previous run times since I built RelWithDebInfo instead of Debug which I think makes more sense given that's the build type that users will be running):
|
Thanks. Although newer version is consistently slower, I'm for merging this. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should we delete scripts/install_deps.bat
/ cmake/scripts/install_deps.cmake
files?
Also I think it's worth a changelog item. With a mention that the old database won't work and should be deleted. |
Made it through ~2.3M blocks on mainnet, everything looks good so I think we can merge (after addressing @gumb0 's items). We should also update |
No description provided.