trie: fix benchmark by ensuring key immutability (#28221)

This change fixes the bug in a benchmark, where the input to the trie is reused in a way which is not correct. 

---------

Co-authored-by: Martin Holst Swende <martin@swende.se>
pull/28245/head
Chirag Garg 1 year ago committed by GitHub
parent 339a4cf056
commit 2091ebdf5e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 8
      trie/trie_test.go

@ -614,7 +614,9 @@ func benchGet(b *testing.B) {
k := make([]byte, 32) k := make([]byte, 32)
for i := 0; i < benchElemCount; i++ { for i := 0; i < benchElemCount; i++ {
binary.LittleEndian.PutUint64(k, uint64(i)) binary.LittleEndian.PutUint64(k, uint64(i))
trie.MustUpdate(k, k) v := make([]byte, 32)
binary.LittleEndian.PutUint64(v, uint64(i))
trie.MustUpdate(k, v)
} }
binary.LittleEndian.PutUint64(k, benchElemCount/2) binary.LittleEndian.PutUint64(k, benchElemCount/2)
@ -630,8 +632,10 @@ func benchUpdate(b *testing.B, e binary.ByteOrder) *Trie {
k := make([]byte, 32) k := make([]byte, 32)
b.ReportAllocs() b.ReportAllocs()
for i := 0; i < b.N; i++ { for i := 0; i < b.N; i++ {
v := make([]byte, 32)
e.PutUint64(k, uint64(i)) e.PutUint64(k, uint64(i))
trie.MustUpdate(k, k) e.PutUint64(v, uint64(i))
trie.MustUpdate(k, v)
} }
return trie return trie
} }

Loading…
Cancel
Save