Below comparator
Six operations were at or below 1.00× on both median and p95 in this specific local run.
A transparent index of NEXUS-Q performance evidence: local Android/Termux timings, historical PQC Arena comparisons and the latest accepted native-backend diagnostic. Each dataset keeps its own environment and limitations.
Recorded in the repository benchmark index using cargo bench -p nexusq-core --bench crypto_baseline -- --nocapture. The run used 20 iterations for crypto operations and 3 for Vault operations on the project development device. These are local, environment-sensitive measurements, not a cross-platform ranking.
| Operation | Mean per operation |
|---|---|
| ML-KEM-768 + X25519 keygen | 147,227 ns |
| ML-KEM-1024 + X25519 encaps | 500,573 ns |
| ML-KEM-1024 + X25519 decaps | 452,677 ns |
| ML-DSA-65 keygen | 858,969 ns |
| SLH-DSA-SHAKE-128f keygen | 13,131,888 ns |
| Ed25519 sign | 65,292 ns |
| Ed25519 verify | 195,365 ns |
| AES-256-GCM encrypt | 692 ns |
| AES-256-GCM decrypt | 704 ns |
| Vault open | 71,692 ns |
| Vault unlock | 301,479,513 ns |
| Identity key rotation | 67,795 ns |
Vault unlock includes the configured password KDF and is expected to dominate the operation cost. Source: BENCHMARKS.md ↗.
The official hosted run compared the opt-in NEXUS-Q native backend with AWS-LC on an AMD EPYC 7763 runner. All nine ML-KEM / ML-DSA operations passed the unchanged 1.5× median-and-p95 gate. The chart shows median latency; shorter bars are faster.
Official v4.1.0 hosted CI result. The long signing p95 tail (235.40 µs) is retained in the exact-value table below and is not represented by this median-only chart.
| Operation | NEXUS-Q median | NEXUS-Q p95 | AWS-LC median | Median ratio | p95 ratio | Gate |
|---|---|---|---|---|---|---|
| ML-KEM-768 · Keygen | 12.90 µs | 13.38 µs | 12.33 µs | 1.046× | 1.041× | Pass |
| ML-KEM-768 · Encaps | 12.94 µs | 13.00 µs | 12.75 µs | 1.015× | 1.013× | Pass |
| ML-KEM-768 · Decaps | 15.38 µs | 15.44 µs | 15.43 µs | 0.997× | 0.994× | Pass |
| ML-KEM-1024 · Keygen | 18.34 µs | 18.86 µs | 17.85 µs | 1.028× | 1.025× | Pass |
| ML-KEM-1024 · Encaps | 18.66 µs | 18.76 µs | 18.56 µs | 1.005× | 0.985× | Pass |
| ML-KEM-1024 · Decaps | 22.01 µs | 22.10 µs | 22.19 µs | 0.992× | 0.977× | Pass |
| ML-DSA-65 · Keygen | 35.79 µs | 36.62 µs | 40.00 µs | 0.895× | 0.885× | Pass |
| ML-DSA-65 · Sign | 83.22 µs | 235.40 µs | 96.57 µs | 0.862× | 0.846× | Pass |
| ML-DSA-65 · Verify | 33.54 µs | 34.01 µs | 34.31 µs | 0.978× | 0.976× | Pass |
Three alternating rounds per implementation, pooled medians and nearest-rank p95, 3,000 samples per operation and implementation. One AMD EPYC 7763 hosted CI runner; results are environment-specific, not universal performance claims. Source: README · Benchmarks ↗ · official production-path gate ↗.
The final Arena CI run on 2026-10-05 validated 57 normalized measurements from eight implementations on one x86_64 Linux CI environment, with 20 measurement iterations and 3 warmups. The table below is the recorded v1 optimization baseline; it is not a claim that NEXUS-Q is faster.
| Operation | NEXUS-Q | Best measured comparator | Ratio |
|---|---|---|---|
| ML-KEM-768 keygen | 33.94 µs | AWS-LC · 11.44 µs | 2.97× |
| ML-KEM-768 encaps | 27.97 µs | AWS-LC · 12.11 µs | 2.31× |
| ML-KEM-768 decaps | 34.62 µs | AWS-LC · 15.07 µs | 2.30× |
| ML-KEM-1024 keygen | 53.89 µs | liboqs · 22.60 µs | 2.38× |
| ML-KEM-1024 encaps | 46.05 µs | liboqs · 22.71 µs | 2.03× |
| ML-KEM-1024 decaps | 52.14 µs | liboqs · 25.61 µs | 2.04× |
| ML-DSA-65 keygen | 168.69 µs | AWS-LC · 44.21 µs | 3.82× |
| ML-DSA-65 sign | 600.73 µs | AWS-LC · 134.75 µs | 4.46× |
| ML-DSA-65 verify | 101.20 µs | CIRCL · 22.92 µs | 4.42× |
Lower latency is better. The Arena reports operations separately and does not publish a composite winner. Comparators use pinned implementation revisions; only equivalent algorithm/parameter sets belong in a direct comparison.
The latest local x86-64 diagnostic used an Intel Core i3-N305 with the CPU governor set to powersave, and compared the opt-in native backend with the best eligible per-operation comparator using a matched AWS-LC RNG. Six of nine operations beat the comparator on both median and p95. Three modest gaps remain accepted and documented.
Six operations were at or below 1.00× on both median and p95 in this specific local run.
Median / p95 ratio for the remaining accepted delta.
Median / p95 ratio for the remaining accepted delta. ML-KEM-768 keygen was 1.015× / 1.013×.
Decision and full caveats: Issue #23 final gate audit ↗.
CPU model and features, OS, target, compiler/toolchain, CPU governor, thermal state, and runner type.
Record source revision, dependency versions, comparator version and build flags. Keep native and default paths separate.
Algorithm and parameter set, operation, input corpus, warmups, sample count, rounds and aggregation method.
Keep normalized JSONL, schema validation, CI run link and report together. A planned adapter is not a measured result.
Start with Arena methodology ↗ and performance reports ↗.