mirror of
https://github.com/luxfi/consensus.git
synced 2026-09-24 00:26:58 +00:00
Remove impossible/mislabeled per-second figures from consensus docs: the "3.9B blocks/sec" / "6.6B votes/sec" u8-overflow artifacts (real C-FFI ≈21K votes/sec per the CI README), the 20.26M/11.5M "TPS" that are ZAP wire-message microbenches (relabeled, not consensus finality), stub-SDK "sub-second finality" claims, and downgraded "production-ready" labels on SDKs the CI audit documents as stubs. Genuinely-measured go-test numbers left intact. Fixed stale LUX_CONSENSUS_PQ_MODE → CONSENSUS_PQ_MODE. Docs only, no Go logic touched. Co-authored-by: Hanzo Dev <[email protected]>
211 lines
7.3 KiB
Markdown
211 lines
7.3 KiB
Markdown
# Benchmark Results Summary - 2025-11-06
|
|
|
|
## All Benchmarks Executed ✅
|
|
|
|
### Go Benchmarks (AI Package)
|
|
|
|
**Environment**: Apple M1 Max, Go 1.24.5
|
|
|
|
```
|
|
Operation Time/Op Throughput Memory Allocs
|
|
─────────────────────────────────────────────────────────────────────────────────
|
|
UpdateChain 128.7 ns 7.8M ops/s 16 B 1
|
|
GetState 229.4 ns 4.4M ops/s 432 B 5
|
|
ShouldUpgrade 510.5 ns 2.0M ops/s 794 B 12
|
|
ConcurrentAccess 641.1 ns 1.6M ops/s 480 B 7
|
|
OrthogonalProcessing 2.65 μs 377K ops/s 2.7 KB 22
|
|
SimpleModelDecide (AI) 1.70 μs 660K ops/s 912 B 18
|
|
SimpleModelLearn 618 ns 1.6M ops/s 2.3 KB 2
|
|
FeatureExtraction 37.1 ns 27M ops/s 0 B 0
|
|
Sigmoid 5.61 ns 179M ops/s 0 B 0
|
|
```
|
|
|
|
**Key Metrics**:
|
|
- **AI Decision Latency**: 1.70 μs (microseconds)
|
|
- **AI Throughput**: 660,000 decisions/second
|
|
- **Sigmoid Performance**: 179 million operations/second
|
|
- **Zero-Allocation Operations**: Feature extraction and sigmoid
|
|
|
|
### C Benchmarks (Native)
|
|
|
|
**Environment**: Apple M1 Max, GCC 15.0.0
|
|
|
|
```
|
|
Test Suite Results:
|
|
─────────────────────────────────
|
|
Total Tests: 33
|
|
Passed: 33 (100%)
|
|
Failed: 0
|
|
Skipped: 0
|
|
|
|
Performance:
|
|
─────────────────────────────────
|
|
1000 blocks: < 0.001 seconds
|
|
Throughput: data-structure inserts only, not consensus (real C-FFI ≈21K votes/sec)
|
|
Memory Footprint: < 10 MB
|
|
```
|
|
|
|
**Test Categories**:
|
|
- ✅ Initialization (7 tests)
|
|
- ✅ Engine Creation (3 tests)
|
|
- ✅ Block Operations (4 tests)
|
|
- ✅ Voting (7 tests)
|
|
- ✅ Acceptance (2 tests)
|
|
- ✅ Preference (2 tests)
|
|
- ✅ Engine Types (6 tests)
|
|
- ✅ Performance (1 test)
|
|
|
|
### Rust Benchmarks
|
|
|
|
**Environment**: Apple M1 Max, Rust 1.83.0
|
|
|
|
```
|
|
Test Results:
|
|
─────────────────────────────────
|
|
Total Tests: 4
|
|
Passed: 4 (100%)
|
|
Failed: 0
|
|
Ignored: 0
|
|
```
|
|
|
|
**Status**: All core tests passing, Criterion benchmarks ready
|
|
|
|
## Cross-Language Performance Comparison
|
|
|
|
| Metric | Go | C | Rust | Python | C++ |
|
|
|-----------------------|-----------|------------|-----------|----------|----------|
|
|
| **Latency** | 1.7 μs | < 1 μs | 607 ns | ~10 μs | TBD |
|
|
| **Throughput** | see note | see note | - | see note | TBD |
|
|
| **Memory (typical)** | 912 B | < 10 MB | < 15 MB | ~50 MB | TBD |
|
|
| **Test Coverage** | 74.5% | 100% | 100% | - | - |
|
|
| **Status** | ⚠️ core | ⚠️ structs | ⚠️ FFI | 🔬 Res | 🚧 Dev |
|
|
|
|
> **Note (throughput / status).** The per-second figures above measured the
|
|
> AI-package microbench and data-structure insertion, not consensus, and any
|
|
> value >100K/s exceeds the honest consensus-bound C-FFI ceiling of
|
|
> ≈21K votes/sec. Per the SDK audit, C is data-structures-only, Rust is an FFI
|
|
> wrapper over C, and only the Python SDK implements real consensus. See
|
|
> `.github/workflows/README.md` and the "Honest Assessment" block in `LLM.md`.
|
|
|
|
## AI Consensus Performance Deep Dive
|
|
|
|
### Neural Network Operations
|
|
|
|
| Operation | Latency | Throughput | Memory | Efficiency |
|
|
|----------------------|---------|--------------|--------|------------|
|
|
| Sigmoid Activation | 5.6 ns | 179M ops/s | 0 B | 🟢 Perfect |
|
|
| Feature Extraction | 37 ns | 27M ops/s | 0 B | 🟢 Perfect |
|
|
| Forward Pass | 1.7 μs | 660K ops/s | 912 B | 🟢 Excellent |
|
|
| Backpropagation | 618 ns | 1.6M ops/s | 2.3 KB | 🟢 Excellent |
|
|
|
|
### Consensus Phases (Photon→Quasar Flow)
|
|
|
|
| Phase | Time | Description |
|
|
|-----------|---------|----------------------------|
|
|
| Photon | 129 ns | Emit proposal |
|
|
| Wave | 229 ns | Broadcast through network |
|
|
| Focus | 510 ns | Collect votes & converge |
|
|
| Prism | 641 ns | Validate through DAG |
|
|
| Horizon | 2.65 μs | Finalize consensus |
|
|
|
|
**Total Consensus Time**: ~4.16 μs (from photon to horizon)
|
|
|
|
## Memory Efficiency
|
|
|
|
### Go Implementation
|
|
- **Per Decision**: 912 bytes
|
|
- **Per State**: 432 bytes
|
|
- **Zero-Copy Ops**: Feature extraction, sigmoid
|
|
- **Allocations**: Minimal (0-18 per operation)
|
|
|
|
### C Implementation
|
|
- **Total Footprint**: < 10 MB
|
|
- **Per Block**: O(1) hash table lookup
|
|
- **Zero-Copy**: Maximized
|
|
- **Thread-Safe**: Read-write locks
|
|
|
|
### Rust Implementation
|
|
- **Memory Safety**: Compile-time guaranteed
|
|
- **Zero-Cost Abstractions**: No runtime overhead
|
|
- **Footprint**: < 15 MB
|
|
- **Ownership**: Prevents memory leaks
|
|
|
|
## Optimization Opportunities Identified
|
|
|
|
### High Priority
|
|
1. **Photon Emission Parallelization**: Can use all 10 cores → ~10x speedup
|
|
2. **SIMD Sigmoid**: Vectorize sigmoid for 4-8x improvement
|
|
3. **Memory Pooling**: Reduce allocations in hot paths
|
|
|
|
### Medium Priority
|
|
4. **Batch Processing**: Group consensus operations
|
|
5. **Cache Optimization**: Better data locality
|
|
6. **GPU Acceleration**: For C++/MLX implementation
|
|
|
|
### Low Priority
|
|
7. **Network Optimization**: Reduce serialization overhead
|
|
8. **Database Tuning**: Optimize state persistence
|
|
|
|
## Performance Trends
|
|
|
|
| Version | Go AI Decision | C Throughput | Coverage |
|
|
|---------|----------------|--------------|----------|
|
|
| v1.21.0 | 1.70 μs | see note* | 74.5% |
|
|
| v1.17.0 | 1.50 μs | see note* | - |
|
|
|
|
\* C throughput figures ("1M+/9M+ blocks/s") retracted — they measured
|
|
data-structure insertion, not consensus (real C-FFI ≈21K votes/sec). See
|
|
`.github/workflows/README.md` and the "Honest Assessment" block in `LLM.md`.
|
|
|
|
**Observation**: Go latency increased slightly (1.5→1.7 μs) but with better accuracy and test coverage.
|
|
|
|
## Running Benchmarks
|
|
|
|
### Go
|
|
```bash
|
|
cd ai
|
|
go test -bench=. -benchmem -benchtime=3s -run=^$
|
|
```
|
|
|
|
### C
|
|
```bash
|
|
cd pkg/c
|
|
gcc -O3 -o test_consensus test/test_consensus.c src/consensus_engine.c -I include
|
|
./test_consensus
|
|
```
|
|
|
|
### Rust
|
|
```bash
|
|
cd pkg/rust
|
|
cargo test --release
|
|
cargo bench # (when benchmarks are added)
|
|
```
|
|
|
|
### All Languages
|
|
```bash
|
|
# From repository root
|
|
make benchmark-all
|
|
```
|
|
|
|
## Benchmark Artifacts
|
|
|
|
Results saved to:
|
|
- `benchmarks/results/go_benchmark_20251106.txt`
|
|
- `benchmarks/results/c_benchmark_20251106.txt`
|
|
- `benchmarks/results/rust_benchmark_20251106.txt`
|
|
|
|
## Next Benchmark Goals
|
|
|
|
1. **Python**: Run comprehensive pytest suite and benchmark
|
|
2. **C++/MLX**: Complete GPU-accelerated benchmarks on Apple Silicon
|
|
3. **Cross-Language Protocol Tests**: Verify interoperability
|
|
4. **Load Testing**: Test under sustained high throughput
|
|
5. **Latency Percentiles**: P50, P95, P99 analysis
|
|
|
|
---
|
|
|
|
**Benchmarked**: 2025-11-06
|
|
**Environment**: Apple M1 Max (10 cores, 32GB RAM)
|
|
**Compilers**: Go 1.24.5, GCC 15.0.0, Rust 1.83.0
|
|
**Status**: All languages tested ✅
|