bsc/trie
Qian Bin da57d11ecc rlp trie: faster trie node encoding (#24126)
This change speeds up trie hashing and all other activities that require
RLP encoding of trie nodes by approximately 20%. The speedup is achieved by
avoiding reflection overhead during node encoding.

The interface type trie.node now contains a method 'encode' that works with
rlp.EncoderBuffer. Management of EncoderBuffers is left to calling code.
trie.hasher, which is pooled to avoid allocations, now maintains an
EncoderBuffer. This means memory resources related to trie node encoding
are tied to the hasher pool.

Co-authored-by: Felix Lange <fjl@twurst.com>
2022-08-26 14:46:13 +08:00
..
committer.go rlp trie: faster trie node encoding (#24126) 2022-08-26 14:46:13 +08:00
database_test.go trie: there's no point in retrieving the metaroot 2019-04-05 13:09:28 +03:00
database.go rlp trie: faster trie node encoding (#24126) 2022-08-26 14:46:13 +08:00
dummy_trie.go fix: code compatibility fixes 2022-07-05 11:14:21 +08:00
encoding_test.go trie: use stacktrie for Derivesha operation (#21407) 2020-09-29 17:38:13 +02:00
encoding.go trie: use stacktrie for Derivesha operation (#21407) 2020-09-29 17:38:13 +02:00
errors.go trie: more node iterator improvements (#14615) 2017-06-20 18:26:09 +02:00
hasher.go rlp trie: faster trie node encoding (#24126) 2022-08-26 14:46:13 +08:00
iterator_test.go trie: fix two issues in trie iterator (#24539) 2022-08-22 14:43:14 +08:00
iterator.go rlp trie: faster trie node encoding (#24126) 2022-08-26 14:46:13 +08:00
node_enc.go rlp trie: faster trie node encoding (#24126) 2022-08-26 14:46:13 +08:00
node_test.go add node.go unit test file node_test.go (#20028) 2020-01-07 10:31:20 +01:00
node.go rlp trie: faster trie node encoding (#24126) 2022-08-26 14:46:13 +08:00
proof_test.go trie: test for edgecase in VerifyRangeProof (#24257) 2022-01-21 14:35:30 +01:00
proof.go rlp trie: faster trie node encoding (#24126) 2022-08-26 14:46:13 +08:00
secure_trie_test.go fix: code compatibility fixes 2022-07-05 11:14:21 +08:00
secure_trie.go fix: code compatibility fixes 2022-07-05 11:14:21 +08:00
stacktrie_test.go trie: more tests for stacktrie (#23936) 2021-11-22 08:49:18 +01:00
stacktrie.go rlp trie: faster trie node encoding (#24126) 2022-08-26 14:46:13 +08:00
sync_test.go core, eth, les, trie: remove the sync bloom, used by fast sync 2021-12-03 12:32:41 +02:00
sync.go Merge pull request #24117 from holiman/db_has 2022-01-06 11:30:11 +02:00
trie_test.go rlp trie: faster trie node encoding (#24126) 2022-08-26 14:46:13 +08:00
trie.go fix: code compatibility fixes 2022-07-05 11:14:21 +08:00