go-ethereum/trie
Daniel Liu 9cad0a0cc0
all: create global hasher pool #31769 (#1233)
This PR creates a global hasher pool that can be used by all packages.
It also removes a bunch of the package local pools.

It also updates a few locations to use available hashers or the global
hashing pool to reduce allocations all over the codebase.
This change should reduce global allocation count by ~1%

---------

Co-authored-by: Marius van der Wijden <m.vanderwijden@live.de>
Co-authored-by: Gary Rong <garyrong0905@gmail.com>
2025-08-20 15:11:09 +08:00
..
committer.go core, trie: add state metrics #23433 (#1071) 2025-08-04 11:19:42 +08:00
database.go trie: remove the duplicate write for preimage #23001 (#1068) 2025-07-28 16:50:39 +08:00
database_test.go new EVM Upgrade 2021-09-21 16:53:46 +05:30
encoding.go trie: Derivesha with stacktrie (#21407) 2025-04-07 16:44:32 +08:00
encoding_test.go trie: remove deprecated uses of math.rand (#1136) 2025-06-25 16:57:23 +08:00
errors.go new EVM Upgrade 2021-09-21 16:53:46 +05:30
hasher.go all: create global hasher pool #31769 (#1233) 2025-08-20 15:11:09 +08:00
iterator.go trie: readonly interface for trie iterator resolver #24221 (#1081) 2025-08-20 14:52:56 +08:00
iterator_test.go core, trie: add state metrics #23433 (#1071) 2025-08-04 11:19:42 +08:00
node.go trie: rename NodeFlag to nodeFlag (#1049) 2025-05-26 15:18:47 +08:00
node_enc.go trie: faster trie node encoding (#24126) 2025-04-07 16:44:32 +08:00
node_test.go new EVM Upgrade 2021-09-21 16:53:46 +05:30
proof.go trie: fix range prover #24266 (#1082) 2025-08-20 14:54:24 +08:00
proof_test.go trie: test for edgecase in VerifyRangeProof #24257 (#1083) 2025-08-20 15:04:35 +08:00
secure_trie.go core/state: move state account to core/types + abstracted write account to trie #23567 (#1072) 2025-08-08 09:13:34 +08:00
secure_trie_test.go new EVM Upgrade 2021-09-21 16:53:46 +05:30
stacktrie.go trie: fix spelling mistakes (#1122) 2025-06-20 16:29:57 +08:00
stacktrie_test.go trie: more tests for stacktrie (#23936) 2025-04-07 16:44:32 +08:00
sync.go core, trie: use db.has over db.get where possible #24117 (#1078) 2025-08-20 14:51:32 +08:00
sync_test.go trie: remove the sync bloom, used by fast sync #24047 (#1077) 2025-08-08 09:31:26 +08:00
trie.go core/state: move state account to core/types + abstracted write account to trie #23567 (#1072) 2025-08-08 09:13:34 +08:00
trie_test.go core/state: move state account to core/types + abstracted write account to trie #23567 (#1072) 2025-08-08 09:13:34 +08:00