From 46ec63eae192a4389a3672f9772892b5cefb474e Mon Sep 17 00:00:00 2001 From: MariusVanDerWijden Date: Mon, 29 Jun 2026 09:57:44 +0200 Subject: [PATCH] trie: reduce allocations by hoisting prefix up --- trie/trie.go | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/trie/trie.go b/trie/trie.go index 4041fe4e78..0026c6048c 100644 --- a/trie/trie.go +++ b/trie/trie.go @@ -532,15 +532,16 @@ func (t *Trie) UpdateBatch(keys [][]byte, values [][]byte) error { for pos, ks := range ikeys { eg.Go(func() error { vs := ivals[pos] + prefix := []byte{pos} for i, k := range ks { if len(vs[i]) != 0 { - _, n, err := t.insert(fn.Children[pos], []byte{pos}, k[1:], valueNode(vs[i])) + _, n, err := t.insert(fn.Children[pos], prefix, k[1:], valueNode(vs[i])) if err != nil { return err } fn.Children[pos] = n } else { - _, n, err := t.delete(fn.Children[pos], []byte{pos}, k[1:]) + _, n, err := t.delete(fn.Children[pos], prefix, k[1:]) if err != nil { return err }