crate-crypto / go-ipa

A Go implementation of cryptographic primitives for Verkle Trees
https://verkle.dev
Apache License 2.0
32 stars 14 forks source link

banderwagon: add element serialization benchmark #62

Closed jsign closed 11 months ago

jsign commented 11 months ago

This PR adds a benchmark for Banderwagon point serialization.

Run on AMD Ryzen 7 3800XT 8-Core Processor:

$ go test ./banderwagon -run=none -bench=BenchmarkElementSerialization
goos: linux
goarch: amd64
pkg: github.com/crate-crypto/go-ipa/banderwagon
cpu: AMD Ryzen 7 3800XT 8-Core Processor            
BenchmarkElementSerialization/underlying_canonical_point-16               923959              1230 ns/op               0 B/op          0 allocs/op
BenchmarkElementSerialization/underlying_non-canonical_point-16           918708              1277 ns/op               0 B/op          0 allocs/op
PASS
ok      github.com/crate-crypto/go-ipa/banderwagon      3.978s

TL;DR for this CPU: ~1.2μs (under cache-friendly assumptions).