Try it Live
Run BLS12-381 examples in the interactive playground
Performance
Benchmarks and optimization strategies for BLS12-381 operations.Native Benchmarks (BLST)
Measured on Apple M1 Pro (ARM64) and Intel i9-12900K (x86_64):G1 Operations
G2 Operations
Pairing Operations
Hash-to-Curve
Signature Operations
Single Signature
Aggregated Signatures
Batch Verification
Random linear combination batch verification:Comparison with Other Curves
vs BN254
vs secp256k1
Optimization Strategies
Multi-Scalar Multiplication (MSM)
Pippenger’s algorithm for large MSMs:Batch Pairing
Multi-pairing is more efficient than individual pairings:Precomputation Tables
For fixed-base multiplication (e.g., generator):Memory Requirements
Ethereum Beacon Chain
Profiling Tips
Hotspots
Typical time distribution in signature verification:Optimization Priorities
- Batch operations - Use MSM and multi-pairing
- Precomputation - Cache generator multiples
- Aggregation - Combine signatures before verification
- Parallelization - Miller loops are independent
Hardware Acceleration
x86_64 (ADX/BMI2)
BLST uses:- MULX for carry-less multiplication
- ADCX/ADOX for parallel add-with-carry
- ~30% speedup over generic implementation
ARM64 (NEON)
BLST uses:- Vector operations for field arithmetic
- ~25% speedup over generic
GPU Acceleration
For large MSMs (>10,000 points):- CUDA implementations available
- ~100x speedup for MSM operations
- Not suitable for latency-sensitive signing
Related
- BLS12-381 Overview - Curve fundamentals
- Security - Security considerations
- Usage Patterns - Implementation patterns

