From f567a4e671f1efec5457dc15959b22e239a17499 Mon Sep 17 00:00:00 2001 From: ucwong Date: Tue, 27 Jan 2026 18:23:33 +0800 Subject: [PATCH] preallocate slice capacity --- trie/secure_trie.go | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/trie/secure_trie.go b/trie/secure_trie.go index 33e10f3568..a931c20f4f 100644 --- a/trie/secure_trie.go +++ b/trie/secure_trie.go @@ -133,9 +133,9 @@ func (t *StateTrie) TryGet(key []byte) ([]byte, error) { // PrefetchAccount attempts to resolve specific accounts from the database // to accelerate subsequent trie operations. func (t *StateTrie) PrefetchAccount(addresses []common.Address) error { - var keys [][]byte - for _, addr := range addresses { - keys = append(keys, crypto.Keccak256(addr.Bytes())) + keys := make([][]byte, len(addresses)) + for i, addr := range addresses { + keys[i] = crypto.Keccak256(addr.Bytes()) } return t.trie.Prefetch(keys) } @@ -143,9 +143,9 @@ func (t *StateTrie) PrefetchAccount(addresses []common.Address) error { // PrefetchStorage attempts to resolve specific storage slots from the database // to accelerate subsequent trie operations. func (t *StateTrie) PrefetchStorage(_ common.Address, keys [][]byte) error { - var keylist [][]byte - for _, key := range keys { - keylist = append(keylist, crypto.Keccak256(key)) + keylist := make([][]byte, len(keys)) + for i, key := range keys { + keylist[i] = crypto.Keccak256(key) } return t.trie.Prefetch(keylist) }