Files
next.orly.dev/pkg/crypto/p8k/bench/Makefile
mleku e0a95ca1cd
Some checks failed
Go / build (push) Has been cancelled
Go / release (push) Has been cancelled
Refactor signer implementation to use p8k package
- Replaced all instances of p256k1signer with the new p8k.Signer across various modules, including event creation, policy handling, and database interactions.
- Updated related test cases and benchmarks to ensure compatibility with the new signer interface.
- Bumped version to v0.25.0 to reflect these significant changes and improvements in cryptographic operations.
2025-11-04 20:05:19 +00:00

76 lines
2.2 KiB
Makefile

.PHONY: help bench bench-all bench-pubkey bench-sign bench-verify bench-ecdh clean install
# Default target
help:
@echo "Secp256k1 Implementation Benchmark Suite"
@echo ""
@echo "Available targets:"
@echo " bench - Run all comparative benchmarks (10s each)"
@echo " bench-all - Run all benchmarks with statistical analysis"
@echo " bench-pubkey - Benchmark public key derivation"
@echo " bench-sign - Benchmark Schnorr signing"
@echo " bench-verify - Benchmark Schnorr verification"
@echo " bench-ecdh - Benchmark ECDH key exchange"
@echo " bench-quick - Quick benchmark run (1s each)"
@echo " install - Install benchmark dependencies"
@echo " clean - Clean benchmark results"
@echo ""
@echo "Environment variables:"
@echo " BENCHTIME - Duration for each benchmark (default: 10s)"
@echo " COUNT - Number of iterations (default: 5)"
# Run all comparative benchmarks
bench:
go test -bench=BenchmarkAll -benchmem -benchtime=10s
# Quick benchmark (1 second each)
bench-quick:
go test -bench=BenchmarkComparative -benchmem -benchtime=1s
# Run all benchmarks with detailed output
bench-all:
./run_benchmarks.sh
# Individual operation benchmarks
bench-pubkey:
go test -bench=BenchmarkComparative_PubkeyDerivation -benchmem -benchtime=10s
bench-sign:
go test -bench=BenchmarkComparative_SchnorrSign -benchmem -benchtime=10s
bench-verify:
go test -bench=BenchmarkComparative_SchnorrVerify -benchmem -benchtime=10s
bench-ecdh:
go test -bench=BenchmarkComparative_ECDH -benchmem -benchtime=10s
# Run BTCEC-only benchmarks
bench-btcec:
go test -bench=BenchmarkBTCEC -benchmem -benchtime=5s
# Run P256K1-only benchmarks
bench-p256k1:
go test -bench=BenchmarkP256K1 -benchmem -benchtime=5s
# Run P8K-only benchmarks
bench-p8k:
go test -bench=BenchmarkP8K -benchmem -benchtime=5s
# Install dependencies
install:
go get -u ./...
go mod tidy
@echo "Installing benchstat for statistical analysis..."
@go install golang.org/x/perf/cmd/benchstat@latest || echo "Note: benchstat install failed, but benchmarks will still work"
# Clean results
clean:
rm -rf results/
go clean -testcache
# Show module info
info:
@echo "Benchmark module information:"
@go list -m all