erigon-pulse/turbo/trie/vtree/verkle_utils_test.go
Giulio rebuffo faebec48c9
Added pedersen hash generator utility in cmd/verkle (#5258)
* added tree key functions for verkle tries

* added tree key functions for verkle tries

* added tree key functions for verkle tries

* Pedersen hash generator

* removed extra functions

* better comment

* ops

Co-authored-by: giuliorebuffo <giuliorebuffo@system76-pc.localdomain>
2022-09-02 15:45:30 +02:00

47 lines
790 B
Go

package vtree
import (
"crypto/sha256"
"math/big"
"math/rand"
"testing"
)
func BenchmarkPedersenHash(b *testing.B) {
var addr, v [32]byte
b.ResetTimer()
b.ReportAllocs()
for i := 0; i < b.N; i++ {
rand.Read(v[:])
rand.Read(addr[:])
GetTreeKeyCodeSize(addr[:])
}
}
func sha256GetTreeKeyCodeSize(addr []byte) []byte {
digest := sha256.New()
digest.Write(addr)
treeIndexBytes := new(big.Int).Bytes()
var payload [32]byte
copy(payload[:len(treeIndexBytes)], treeIndexBytes)
digest.Write(payload[:])
h := digest.Sum(nil)
h[31] = CodeKeccakLeafKey
return h
}
func BenchmarkSha256Hash(b *testing.B) {
var addr, v [32]byte
b.ResetTimer()
b.ReportAllocs()
for i := 0; i < b.N; i++ {
rand.Read(v[:])
rand.Read(addr[:])
sha256GetTreeKeyCodeSize(addr[:])
}
}