go-ethereum/trie
Guillaume Ballet 6c8310ebb4
trie: use stacktrie for Derivesha operation (#21407)
core/types: use stacktrie for derivesha

trie: add stacktrie file

trie: fix linter

core/types: use stacktrie for derivesha

rebased: adapt stacktrie to the newer version of DeriveSha

Co-authored-by: Martin Holst Swende <martin@swende.se>

More linter fixes

review feedback: no key offset for nodes converted to hashes

trie: use EncodeRLP for full nodes

core/types: insert txs in order in derivesha

trie: tests for derivesha with stacktrie

trie: make stacktrie use pooled hashers

trie: make stacktrie reuse tmp slice space

trie: minor polishes on stacktrie

trie/stacktrie: less rlp dancing

core/types: explain the contorsions in DeriveSha

ci: fix goimport errors

trie: clear mem on subtrie hashing

squashme: linter fix

stracktrie: use pooling, less allocs (#3)

trie: in-place hex prefix, reduce allocs and add rawNode.EncodeRLP

Reintroduce the `[]node` method, add the missing `EncodeRLP` implementation for `rawNode` and calculate the hex prefix in place.

Co-authored-by: Martin Holst Swende <martin@swende.se>

Co-authored-by: Martin Holst Swende <martin@swende.se>
2020-09-29 17:38:13 +02:00
..
committer.go core/state, eth, trie: stabilize memory use, fix memory leak 2020-08-26 13:05:06 +03:00
database_test.go trie: there's no point in retrieving the metaroot 2019-04-05 13:09:28 +03:00
database.go trie: use stacktrie for Derivesha operation (#21407) 2020-09-29 17:38:13 +02: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 core: types: less allocations when hashing and tx handling (#21265) 2020-06-30 11:59:06 +02:00
iterator_test.go les: historical data garbage collection (#19570) 2020-07-13 11:02:54 +02:00
iterator.go trie: make hasher parallel when number of changes are large (#20488) 2020-02-04 14:02:38 +02:00
node_test.go add node.go unit test file node_test.go (#20028) 2020-01-07 10:31:20 +01:00
node.go cmd, core, eth, trie: get rid of trie cache generations (#19262) 2019-03-14 15:25:12 +02:00
proof_test.go trie: extend range proof (#21250) 2020-09-23 12:44:09 +03:00
proof.go trie: extend range proof (#21250) 2020-09-23 12:44:09 +03:00
secure_trie_test.go cmd, core, eth, trie: get rid of trie cache generations (#19262) 2019-03-14 15:25:12 +02:00
secure_trie.go core, eth, trie: prepare trie sync for path based operation 2020-09-02 13:21:32 +03:00
stacktrie_test.go trie: use stacktrie for Derivesha operation (#21407) 2020-09-29 17:38:13 +02:00
stacktrie.go trie: use stacktrie for Derivesha operation (#21407) 2020-09-29 17:38:13 +02:00
sync_bloom.go core, eth, les, trie: add a prefix to contract code (#21080) 2020-08-21 15:10:40 +03:00
sync_test.go core, eth, trie: prepare trie sync for path based operation 2020-09-02 13:21:32 +03:00
sync.go core, eth, trie: prepare trie sync for path based operation 2020-09-02 13:21:32 +03:00
trie_test.go core/state, eth, trie: stabilize memory use, fix memory leak 2020-08-26 13:05:06 +03:00
trie.go core, eth, trie: prepare trie sync for path based operation 2020-09-02 13:21:32 +03:00