github.com/prysmaticlabs/prysm@v1.4.4/beacon-chain/state/stateutil/benchmark_test.go (about) 1 package stateutil_test 2 3 import ( 4 "testing" 5 6 "github.com/prysmaticlabs/prysm/shared/hashutil" 7 "github.com/prysmaticlabs/prysm/shared/htrutils" 8 "github.com/prysmaticlabs/prysm/shared/testutil/require" 9 ) 10 11 func BenchmarkMerkleize_Buffered(b *testing.B) { 12 roots := make([][32]byte, 8192) 13 for i := 0; i < 8192; i++ { 14 roots[0] = [32]byte{byte(i)} 15 } 16 17 newMerkleize := func(chunks [][32]byte, count uint64, limit uint64) ([32]byte, error) { 18 leafIndexer := func(i uint64) []byte { 19 return chunks[i][:] 20 } 21 return htrutils.Merkleize(htrutils.NewHasherFunc(hashutil.CustomSHA256Hasher()), count, limit, leafIndexer), nil 22 } 23 24 b.ResetTimer() 25 b.ReportAllocs() 26 for i := 0; i < b.N; i++ { 27 _, err := newMerkleize(roots, 8192, 8192) 28 require.NoError(b, err) 29 } 30 }