Optimization and Refractor: UTXO index and database iterators. #814
Open
D-Stacks wants to merge 19 commits intokaspanet:masterfrom
Open
Optimization and Refractor: UTXO index and database iterators. #814D-Stacks wants to merge 19 commits intokaspanet:masterfrom
D-Stacks wants to merge 19 commits intokaspanet:masterfrom
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
credit for the pretty awesome
iterator_ownedgoes out to: @biryukovmaxim.This is kind of a half optimization / half refractor PR.
Actual optimization is basically just in the usage of batch writes for utxo index resync and updates (which gives about 30-50% reduction in utxoindex resync duration, although this might be hardware dependent), but along the way I refactored a bunch of code regarding the utxoindex resync to be more optimal "in theory". Also increased readability of database iterators, these now supply the keys as actual
TKey, so no manual deserialization is needed elsewhere, such as in the stores (which seems out-of-character), and it all happens under-the-hood. The Utxo Index also now gives log output to show progress.Ready for Review