Punch Promoter Engine Performance
Static benchmark report comparing the TypeScript simulation path with the Rust headless engine used by terminal-native long-run simulations.
Benchmark generated 2026-05-14 02:49:57
219.20x
Best speedup
Fastest Rust-over-TS result across workloads
95.40x
Average speedup
Mean of reported workload speedups
3
Fight workloads
Pure scheduled-fight batch tests
3
Weekly workloads
Headless lifecycle windows
1
Runs per sample
Measured runs after warmup
Benchmark
Fight Batch Compute
Pure scheduled-fight workloads using identical deterministic fixtures for TypeScript and Rust.
25 scheduled fights
25.23x
JS 18.97 s / Rust 751.7 ms per fight workload
100 scheduled fights
219.20x
JS 81.03 s / Rust 369.7 ms per fight workload
400 scheduled fights
217.25x
JS 326.40 s / Rust 1.50 s per fight workload
25 scheduled fights JS
18.97 s
25 scheduled fights Rust
751.7 ms
100 scheduled fights JS
81.03 s
100 scheduled fights Rust
369.7 ms
400 scheduled fights JS
326.40 s
400 scheduled fights Rust
1.50 s
| Workload | TypeScript Mean | Rust Mean | Speedup | Parity / Output |
|---|---|---|---|---|
| 25 scheduled fights | 18.97 s | 751.7 ms | 25.23x | same fight count |
| 100 scheduled fights | 81.03 s | 369.7 ms | 219.20x | same fight count |
| 400 scheduled fights | 326.40 s | 1.50 s | 217.25x | same fight count |
Benchmark
Weekly Lifecycle
Headless game weeks that include simulation orchestration, database writes, scheduling, and persistence.
12 simulated weeks
50.70x
JS 152.54 s / Rust 3.01 s per weekly workload
48 simulated weeks
32.44x
JS 347.46 s / Rust 10.71 s per weekly workload
192 simulated weeks
27.56x
JS 2156.38 s / Rust 78.23 s per weekly workload
12 simulated weeks JS
152.54 s
12 simulated weeks Rust
3.01 s
48 simulated weeks JS
347.46 s
48 simulated weeks Rust
10.71 s
192 simulated weeks JS
2156.38 s
192 simulated weeks Rust
78.23 s
| Workload | TypeScript Mean | Rust Mean | Speedup | Parity / Output |
|---|---|---|---|---|
| 12 simulated weeks | 152.54 s | 3.01 s | 50.70x | JS fights 179; Rust fights 179 |
| 48 simulated weeks | 347.46 s | 10.71 s | 32.44x | JS fights 414; Rust fights 412 |
| 192 simulated weeks | 2156.38 s | 78.23 s | 27.56x | JS fights 3,153; Rust fights 3,228 |
Methodology
Environment And Run Config
Benchmark metadata is recorded with the report so results can be interpreted as local, reproducible measurements.
| Platform | Darwin 25.3.0 |
| Architecture | arm64 |
| CPU | Apple M4 |
| CPU cores | 10 |
| Memory | 24 GB |
| Node | v22.17.1 |
| Rust | rustc 1.92.0 (ded5c06cf 2025-12-08) |
| Cargo | cargo 1.92.0 (344c4567c 2025-10-21) |
| Seed | 42 |
| Warmups | 0 |
Notes
How To Read This
These notes describe the benchmark boundaries and caveats.
- Fight batch benchmarks run pure week-tick fight fixtures without app UI rendering.
- Weekly lifecycle benchmarks include headless database setup, world initialization, weekly orchestration, simulation, and persistence for each measured sample.
- Results are machine-specific and should be read as portfolio-scale evidence, not universal hardware-independent constants.