H33 Graviton4 Benchmark Suite
=============================
Sustained: 60s, Workers: 32, Latency: 15s/rate
Allocator: system
Architecture: aarch64 (ARM/Graviton)
Rayon threads: 32
Cachee RESP: redis://localhost:6380/
FHE mode: biometric_fast (N=4096, Q_bits=[56], t=65537)
NTT path: fused pre-twist (1 REDC) + fused inverse post-twist (1 REDC)
  Forward: twiddles_fused[i] = psi^i * R^2 mod q (saves 4096 REDCs/NTT)
  Inverse: fused_inv_post[i] = n^-1 * psi^-i mod q (saves 4096 REDCs/NTT)

======================================================================
=== BENCHMARK 0: Component Latencies (isolated) ===
======================================================================

  Component          Median       P95         P99
  ---------          ------       ---         ---
  FHE verify:         1080 µs     1086 µs     1088 µs
  ZKP raw:           3.601 µs    3.633 µs    3.650 µs
  ZKP via Cachee:    1.069 µs    1.123 µs    1.198 µs  (L1 cache hit)
  Dilithium sign:      160 µs      385 µs      555 µs
  Dilithium verify:     71 µs       72 µs       75 µs
  ─────────────────────────
  Total (single):     1312 µs  (FHE 82% + ZKP 0.08% + sign 12% + verify 5%)
  Cachee speedup:  3× vs raw ZKP (3.601 µs → 1.069 µs)

  --- Batch Attestation (SHA3 digest + 1 sign + 1 verify) ---
  Batch attest:        233 µs  (SHA3 + 1 sign + 1 verify for 32 results)
  Per auth:              7 µs  (amortized)
  vs 32× individual: 32× faster

  --- Full Pipeline (32-user batch, ZKP via Cachee) ---
  FHE batch:          1080 µs
  ZKP (32 Cachee):    34.2 µs  (1.069 µs/lookup)
  Batch attest:        233 µs  (SHA3 + 1 Dilithium sign + 1 verify)
  ─────────────────────────
  Total batch:        1347 µs  (42 µs/auth)
  FHE share:       80%
  ZKP share:       2.5%
  Dilithium share: 17%

======================================================================
=== BENCHMARK 1: SIMD Single-User Inner Product ===
======================================================================
Comparing: verify_encrypted (chunked) vs batch_verify_multi (SIMD packed)

verify_encrypted (chunked):
  Median: 1489 µs
  P95:    1495 µs
  P99:    1499 µs
  Min:    1482 µs

batch_verify_multi (SIMD, 1 probe):
  Median: 1102 µs
  P95:    1109 µs
  P99:    1118 µs
  Min:    1095 µs

  Speedup: 1.4x (median)

batch_verify_multi (SIMD, 32 probes):
  Median: 1094 µs total  (34.2 µs/auth)
  P95:    1110 µs
  P99:    1132 µs
  Single-thread throughput: 29250 auth/sec

======================================================================
=== BENCHMARK 2: Sustained Throughput (FHE + Cachee ZKP + Dilithium) ===
=== 32 workers, 60 seconds ===
======================================================================
Pipeline: FHE → Cachee ZKP (32 lookups) → SHA3 → Dilithium sign+verify
Allocator: system
Cachee RESP: redis://localhost:6380/ → PONG
Setting up 32 worker contexts...
Setup: 60826.4ms
Warming up (populating Cachee cache)...

Starting sustained load...
 Sec    BatchOps/s     EffAuth/s    Total Auth   Per-auth µs
-----------------------------------------------------------------
   1          6691        214112        214112           4.7
   2          6662        213184        427296           4.7
   3          6706        214592        641888           4.7
   4          6680        213760        855648           4.7
   5          6655        212960       1068608           4.7
   6          6686        213952       1282560           4.7
   7          6636        212352       1494912           4.7
   8          6735        215520       1710432           4.6
   9          6571        210272       1920704           4.8
  10          6721        215072       2135776           4.6
  11          6696        214272       2350048           4.7
  12          6686        213952       2564000           4.7
  13          6661        213152       2777152           4.7
  14          6699        214368       2991520           4.7
  15          6558        209856       3201376           4.8
  16          6632        212224       3413600           4.7
  17          6635        212320       3625920           4.7
  18          6672        213504       3839424           4.7
  19          6615        211680       4051104           4.7
  20          6744        215808       4266912           4.6
  21          6580        210560       4477472           4.7
  22          6633        212256       4689728           4.7
  23          6649        212768       4902496           4.7
  24          6646        212672       5115168           4.7
  25          6714        214848       5330016           4.7
  26          6632        212224       5542240           4.7
  27          6622        211904       5754144           4.7
  28          6635        212320       5966464           4.7
  29          6702        214464       6180928           4.7
  30          6717        214944       6395872           4.7
  31          6607        211424       6607296           4.7
  32          6692        214144       6821440           4.7
  33          6726        215232       7036672           4.6
  34          6689        214048       7250720           4.7
  35          6694        214208       7464928           4.7
  36          6639        212448       7677376           4.7
  37          6638        212416       7889792           4.7
  38          6656        212992       8102784           4.7
  39          6650        212800       8315584           4.7
  40          6647        212704       8528288           4.7
  41          6638        212416       8740704           4.7
  42          6766        216512       8957216           4.6
  43          6640        212480       9169696           4.7
  44          6686        213952       9383648           4.7
  45          6615        211680       9595328           4.7
  46          6607        211424       9806752           4.7
  47          6715        214880      10021632           4.7
  48          6712        214784      10236416           4.7
  49          6682        213824      10450240           4.7
  50          6667        213344      10663584           4.7
  51          6655        212960      10876544           4.7
  52          6681        213792      11090336           4.7
  53          6574        210368      11300704           4.8
  54          6589        210848      11511552           4.7
  55          6594        211008      11722560           4.7
  56          6605        211360      11933920           4.7
  57          6656        212992      12146912           4.7
  58          6569        210208      12357120           4.8
  59          6635        212320      12569440           4.7

--- Sustained Throughput Summary (FHE + Cachee ZKP + Attestation) ---
Duration:         60.01s
Workers:          32
Batch ops:        399456
Effective auths:  12782592 (32 users/batch)
Batch throughput: 6657 batch/sec
Auth throughput:  213025 auth/sec  (FHE + Cachee ZKP + Dilithium)
Per-auth latency: 4.7 µs

Cachee ZKP stats:
  Cache hits:   12782592 (100.0%)
  Cache misses: 0

Pipeline: FHE → Cachee ZKP(32 lookups) → SHA3 → Dilithium sign → verify

======================================================================
=== BENCHMARK 3: BatchAccumulator Latency Distribution ===
======================================================================

      Rate    Achieved      P50 ms      P95 ms      P99 ms      Max ms
----------------------------------------------------------------------
       100         100       4.159       4.166       4.213       4.218
      1000        1000       3.231       4.329       4.340       4.377
      5000        4997       3.270       4.353       4.364       4.392
     10000        9991       2.237       3.372       4.356       4.440
     25000       24945       2.166       2.270       3.165       4.323
     50000       49762       1.173       2.243       2.269       4.241

--- Fallback Path (individual verify_encrypted) ---
  P50: 1489 µs
  P95: 1495 µs
  P99: 1502 µs

--- Accumulator Metrics ---
  Batches flushed:   51032
  Requests batched:  1366510
  Requests fallback: 0

======================================================================
=== BENCHMARK COMPLETE ===
======================================================================

Full lifecycle: FHE → Cachee ZKP (32 cached lookups) → Dilithium attestation
ZKP proofs cached in Cachee L1 (DashMap) + L2 (ElastiCache) via RESP proxy.
