mukan-consensus/crypto/merkle/bench_test.go
Mukan Erkin Törük ef24c0b67e
Some checks are pending
docker-build-cometbft / vars (push) Waiting to run
docker-build-cometbft / build-images (amd64, ubuntu-24.04) (push) Blocked by required conditions
docker-build-cometbft / build-images (arm64, ubuntu-24.04-arm) (push) Blocked by required conditions
docker-build-cometbft / merge-images (push) Blocked by required conditions
docker-build-e2e-node / vars (push) Waiting to run
docker-build-e2e-node / build-images (amd64, ubuntu-24.04) (push) Blocked by required conditions
docker-build-e2e-node / build-images (arm64, ubuntu-24.04-arm) (push) Blocked by required conditions
docker-build-e2e-node / merge-images (push) Blocked by required conditions
initial: sovereign Mukan Network fork
2026-05-11 03:18:27 +03:00

42 lines
1.1 KiB
Go

package merkle
import (
"crypto/sha256"
"strings"
"testing"
)
var sink any
type innerHashTest struct {
left, right string
}
var innerHashTests = []*innerHashTest{
{"aaaaaaaaaaaaaaa", " "},
{"", ""},
{" ", "a ff b f1 a"},
{"ffff122fff", "ffff122fff"},
{"😎💡✅alalalalalalalalalallalallaallalaallalalalalalalalaallalalalalalala", "😎💡✅alalalalalalalalalallalallaallalaallalalalalalalalaallalalalalalalaffff122fff"},
{strings.Repeat("ff", 1<<10), strings.Repeat("00af", 4<<10)},
{strings.Repeat("f", sha256.Size), strings.Repeat("00af", 10<<10)},
{"aaaaaaaaaaaaaaaaaaaaaaaaaaaffff122fffaaaaaaaaa", "aaaaaaaaaffff1aaaaaaaaaaaaaaaaaa22fffaaaaaaaaa"},
}
func BenchmarkInnerHash(b *testing.B) {
b.ReportAllocs()
for i := 0; i < b.N; i++ {
for _, tt := range innerHashTests {
got := innerHash([]byte(tt.left), []byte(tt.right))
if g, w := len(got), sha256.Size; g != w {
b.Fatalf("size discrepancy: got %d, want %d", g, w)
}
sink = got
}
}
if sink == nil {
b.Fatal("Benchmark did not run!")
}
}