flow-dps
flow-dps copied to clipboard
Fix leaf updates and improve performance by 20% by removing use of pools
Goal of this PR
This PR improves trie performance and fixes leaf updates which were broken in the previous version. This might have been the cause for the failure to find state commitment matches after indexing the root checkpoint in previous testing.
New benchmark:
BenchmarkTrie_InsertFullTrie
BenchmarkTrie_InsertFullTrie/insert_1024_elements_into_full_trie_(ref)
BenchmarkTrie_InsertFullTrie/insert_1024_elements_into_full_trie_(ref)-8 670 1792013 ns/op
BenchmarkTrie_InsertFullTrie/insert_1024_elements_into_full_trie_(new)
BenchmarkTrie_InsertFullTrie/insert_1024_elements_into_full_trie_(new)-8 616 1912595 ns/op
BenchmarkTrie_InsertFullTrie/insert_2048_elements_into_full_trie_(ref)
BenchmarkTrie_InsertFullTrie/insert_2048_elements_into_full_trie_(ref)-8 350 3375580 ns/op
BenchmarkTrie_InsertFullTrie/insert_2048_elements_into_full_trie_(new)
BenchmarkTrie_InsertFullTrie/insert_2048_elements_into_full_trie_(new)-8 366 3274378 ns/op
BenchmarkTrie_InsertFullTrie/insert_4096_elements_into_full_trie_(ref)
BenchmarkTrie_InsertFullTrie/insert_4096_elements_into_full_trie_(ref)-8 181 6609548 ns/op
BenchmarkTrie_InsertFullTrie/insert_4096_elements_into_full_trie_(new)
BenchmarkTrie_InsertFullTrie/insert_4096_elements_into_full_trie_(new)-8 198 6016952 ns/op
BenchmarkTrie_InsertFullTrie/insert_8192_elements_into_full_trie_(ref)
BenchmarkTrie_InsertFullTrie/insert_8192_elements_into_full_trie_(ref)-8 79 13012390 ns/op
BenchmarkTrie_InsertFullTrie/insert_8192_elements_into_full_trie_(new)
BenchmarkTrie_InsertFullTrie/insert_8192_elements_into_full_trie_(new)-8 100 11256391 ns/op
BenchmarkTrie_InsertFullTrie/insert_16384_elements_into_full_trie_(ref)
BenchmarkTrie_InsertFullTrie/insert_16384_elements_into_full_trie_(ref)-8 40 26154110 ns/op
BenchmarkTrie_InsertFullTrie/insert_16384_elements_into_full_trie_(new)
BenchmarkTrie_InsertFullTrie/insert_16384_elements_into_full_trie_(new)-8 57 21475339 ns/op
BenchmarkTrie_InsertFullTrie/insert_32768_elements_into_full_trie_(ref)
BenchmarkTrie_InsertFullTrie/insert_32768_elements_into_full_trie_(ref)-8 20 52885335 ns/op
BenchmarkTrie_InsertFullTrie/insert_32768_elements_into_full_trie_(new)
BenchmarkTrie_InsertFullTrie/insert_32768_elements_into_full_trie_(new)-8 28 39970121 ns/op
TO DO
- Find out why insertion of lower amounts of nodes are still slower for us.
Misc
- [x] PR title will be clear as part of the changelog
- [x] PR is against the correct branch
- [x] PR is labelled appropriately