Skip to content

leanvm: zero-knowledge leaf proofs - #623

Open
tcoratger wants to merge 2 commits into
zk-stack/4-outer-prooffrom
zk-stack/5-zk-leaves
Open

tcoratger wants to merge 2 commits into
zk-stack/4-outer-prooffrom
zk-stack/5-zk-leaves

Conversation

@tcoratger

@tcoratger tcoratger commented Oct 11, 2026 •

Copy link
Copy Markdown
Collaborator

Stack: #619 spec → #620 transcript → #621 pcs → #622 outer proof → #623 ZK leaves → #624 recursion. Replaces #532.

Part 5 of 6 of the zero-knowledge stack (spec: Annex F).

Prover::zero_knowledge(randomness) makes proofs that reveal nothing of the advice or the run beyond each table's height and the rate.

What

  • One notion of kind. ProofKind (Plain or ZeroKnowledge) is threaded through every layer instead of boolean flags:
    • the witness's layout and the verifier's;
    • the size check;
    • the envelope (LVMZ), so a proof of one kind is refused as the other;
    • the session.
  • The layout. A zero-knowledge layout is the hiding stack. It also grinds 12 more bits before the bus, because the key commitment is a second list (zk: zero-knowledge leaf proofs by composition (draft) #532's budget missed it).
  • What is hidden. Under keys: the final clock's free bits, the bus, the tables, flock and the opening's lane rounds. The opening then reveals its claim.
  • The core. The verifier records its core with Layout::record_core. Each clock bit is a recorded bit, so a failed row's bit 41 has no place in it.
  • Deferred claims. DeferredClaims::into_plain:
    • records each hidden claim as a constraint on the public evaluations the prover sends;
    • batches them into claims of the plain shape, which check_deferred settles as usual.
  • API. Program::prove_execution takes the Prover. verify, verify_core and verify_recording take either kind. The CLI has --zk.

Tests

  • An honest proof:
    • verifies and round-trips its bytes;
    • is refused under another output, or relabelled as plain;
    • is a function of its seed.
  • Tampered bytes are refused without panic.
  • A forged run whose final clock carries the failure bit is refused by the outer proof.

The full workspace suite passes, plain proofs unchanged.

Cost

leanXMSS-100 on an Apple M1 Pro, 16 threads:

plain zero knowledge
proving 0.27 s 0.29 to 0.32 s
proof size 296 KiB 485 KiB
verifying 3.8 ms 7.5 ms
  • Most of the size is the key commitment's opening, plus the public evaluations (about 33 KiB): the next target.
  • Every full-size workload proves and verifies in zero knowledge.

Co-authored-by: Kevaundray Wedderburn kevtheappdev@gmail.com

🤖 Generated with Claude Code

@github-actions

github-actions Bot commented Oct 11, 2026 •

Copy link
Copy Markdown

Benchmarks: base against this PR, on one runner

6e1d4b8 merged into its base, against the base abd13d6: each benchmark run in turns on one runner, base and PR 5 times each. A size is shown when it changed; a time or a peak memory when it moved the same way in every round and its median by at least 1% (the change is the median ratio, with the rounds' range).

Threads shows the named configuration; default means no thread count is encoded in the benchmark ID.

BLAKE2s

Prover stages
benchmark threads runner base this PR change
hash-50000 16 x86-64 350.77 ms 339.89 ms -3.35% (-6.85% to +3.55%)
 ↳ build-witness 24.78 ms 23.79 ms -2.42% (-6.72% to +1.10%)
 ↳ commit 47.46 ms 46.23 ms -5.90% (-9.42% to +3.29%)
 ↳ execute-program 26.96 ms 28.04 ms -2.82% (-8.54% to +7.79%)
 ↳ flock-reductions 95.11 ms 92.83 ms -3.21% (-7.68% to +5.07%)
 ↳ pcs-open 120.87 ms 118.55 ms -0.29% (-11.09% to +7.70%)
 ↳ prove-bus 21.07 ms 20.16 ms -3.54% (-6.10% to -1.62%)
 ↳ prove-constraints 9.08 ms 8.73 ms -3.82% (-8.69% to +0.93%)

Fibonacci

Prover stages
benchmark threads runner base this PR change
fibonacci-asm-2000000 16 arm64 822.07 ms 817.05 ms -0.87% (-1.97% to -0.48%)
 ↳ build-witness 29.14 ms 29.15 ms +0.03% (-0.83% to +0.94%)
 ↳ commit 125.80 ms 125.59 ms +0.00% (-0.80% to +0.89%)
 ↳ execute-program 65.84 ms 65.37 ms -0.67% (-7.45% to +7.64%)
 ↳ flock-reductions 299.28 ms 294.20 ms -1.67% (-6.06% to -0.48%)
 ↳ pcs-open 232.74 ms 232.73 ms +0.56% (-1.42% to +0.94%)
 ↳ prove-bus 59.46 ms 59.58 ms +0.21% (-0.75% to +0.23%)
 ↳ prove-constraints 10.82 ms 10.79 ms -0.28% (-0.50% to +0.55%)

leanSPHINCS

Prover stages
benchmark threads runner base this PR change
leansphincs-26 16 arm64 180.91 ms 180.39 ms -0.46% (-1.14% to +0.06%)
 ↳ build-witness 5.66 ms 5.71 ms +0.86% (+0.35% to +1.34%)
 ↳ commit 23.76 ms 23.80 ms +0.05% (-0.60% to +0.80%)
 ↳ execute-program 11.95 ms 11.85 ms -1.25% (-3.23% to +3.09%)
 ↳ flock-reductions 62.88 ms 62.40 ms -1.17% (-8.71% to -0.06%)
 ↳ pcs-open 57.31 ms 57.02 ms -0.51% (-1.21% to +5.68%)
 ↳ prove-bus 15.09 ms 15.20 ms +0.64% (+0.27% to +1.53%)
 ↳ prove-constraints 4.20 ms 4.29 ms +2.49% (+0.66% to +4.15%)

leanXMSS

benchmark threads runner measure base this PR change
aggregate-leanxmss-100-2to1-first 4 x86-64 Proving time 179.62 ms 177.23 ms -1.58% (-7.40% to -0.26%)
aggregate-leanxmss-100-2to1-node 16 x86-64 Proving time 88.70 ms 89.89 ms +1.34% (+0.37% to +4.06%)
aggregate-leanxmss-100-2to1-node 4 x86-64 Verifying time 3.74 ms 3.46 ms -4.67% (-9.03% to -1.16%)
Prover stages
benchmark threads runner base this PR change
aggregate-leanxmss-100-2to1-first 4 x86-64 179.62 ms 177.23 ms -1.58% (-7.40% to -0.26%)
 ↳ build-circuit 13.76 ms 14.02 ms +0.59% (-3.51% to +5.82%)
 ↳ prove-recursion 149.34 ms 148.65 ms -0.21% (-7.29% to -0.18%)
 ↳ reduce-claims 8.61 ms 6.50 ms -24.49% (-37.52% to -6.37%)
 ↳ reduce-in-rows 1.72 ms 1.65 ms -3.78% (-12.53% to +7.16%)
 ↳ verify 6.23 ms 6.25 ms +0.52% (-3.23% to +2.01%)
aggregate-leanxmss-100-2to1-node 16 x86-64 88.70 ms 89.89 ms +1.34% (+0.37% to +4.06%)
 ↳ build-circuit 14.67 ms 14.64 ms +0.54% (-1.81% to +1.98%)
 ↳ prove-recursion 59.41 ms 60.04 ms +4.88% (+0.75% to +5.94%)
 ↳ reduce-claims 8.79 ms 8.19 ms -4.70% (-20.31% to +1.29%)
 ↳ reduce-in-rows 1.82 ms 1.84 ms +0.00% (-3.62% to +6.02%)
leanxmss-100 4 x86-64 296.47 ms 295.82 ms -0.18% (-0.82% to +0.02%)
 ↳ build-witness 19.08 ms 18.99 ms -0.63% (-9.22% to +0.45%)
 ↳ commit 46.98 ms 46.72 ms -0.51% (-0.90% to -0.15%)
 ↳ execute-program 12.22 ms 12.01 ms -2.31% (-3.78% to -1.05%)
 ↳ flock-reductions 85.35 ms 85.40 ms -0.21% (-0.52% to +0.55%)
 ↳ pcs-open 101.21 ms 101.14 ms -0.12% (-1.25% to +1.08%)
 ↳ prove-bus 23.87 ms 23.81 ms -0.23% (-0.70% to +1.03%)
 ↳ prove-constraints 7.26 ms 7.26 ms +0.23% (-6.00% to +1.04%)
Every result

BLAKE2s

benchmark threads runner CPU measure base this PR change
hash-50000 16 arm64 Neoverse-V2 Proving time 521.52 ms 523.57 ms +0.06% (-0.39% to +0.50%)
hash-50000 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Proving time 350.77 ms 339.89 ms -3.35% (-6.85% to +3.55%)
hash-50000 16 arm64 Neoverse-V2 Verifying time 3.18 ms 3.19 ms +0.11% (+0.00% to +0.69%)
hash-50000 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Verifying time 3.13 ms 3.16 ms +0.02% (-4.68% to +4.99%)
blake2s-batch 16 arm64 Neoverse-V2 Time per operation 2.91 ns 2.90 ns -0.10% (-0.31% to +0.14%)
blake2s-batch 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Time per operation 1.04 ns 1.05 ns +0.86% (-14.63% to +14.85%)
hash-50000 16 arm64 Neoverse-V2 Proof size 322,858 B 322,858 B 0 B (+0.00%)
hash-50000 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Proof size 322,858 B 322,858 B 0 B (+0.00%)
hash-50000 16 arm64 Neoverse-V2 Peak memory 4977.21 MiB 4978.37 MiB -0.02% (-0.15% to +0.16%)
hash-50000 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Peak memory 2192.73 MiB 2194.51 MiB +0.08% (-0.17% to +0.29%)
hash-50000 16 arm64 Neoverse-V2 Peak heap 4400.85 MiB 4400.88 MiB +0.00% (-0.01% to +0.00%)
hash-50000 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Peak heap 1917.31 MiB 1917.35 MiB +0.00% (-0.01% to +0.01%)
hash-50000 16 arm64 Neoverse-V2 Allocations 19,337 19,337 +0.00% (+0.00% to +0.00%)
hash-50000 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Allocations 19,984 19,979 -0.02% (-0.04% to +0.02%)
Prover stages
benchmark threads runner CPU base this PR change
hash-50000 16 arm64 Neoverse-V2 521.52 ms 523.57 ms +0.06% (-0.39% to +0.50%)
 ↳ build-witness 19.95 ms 20.32 ms +0.45% (+0.05% to +1.99%)
 ↳ commit 82.80 ms 82.24 ms -0.59% (-1.60% to +0.16%)
 ↳ execute-program 24.38 ms 25.43 ms +0.62% (-0.33% to +10.24%)
 ↳ flock-reductions 170.69 ms 170.52 ms -0.19% (-0.54% to +0.19%)
 ↳ pcs-open 186.38 ms 186.86 ms +0.11% (-0.72% to +0.54%)
 ↳ prove-bus 30.05 ms 30.41 ms +0.41% (+0.12% to +5.06%)
 ↳ prove-constraints 7.09 ms 7.16 ms +0.71% (+0.45% to +4.96%)
hash-50000 16 x86-64 INTEL(R) XEON(R) GOLD 6548N 350.77 ms 339.89 ms -3.35% (-6.85% to +3.55%)
 ↳ build-witness 24.78 ms 23.79 ms -2.42% (-6.72% to +1.10%)
 ↳ commit 47.46 ms 46.23 ms -5.90% (-9.42% to +3.29%)
 ↳ execute-program 26.96 ms 28.04 ms -2.82% (-8.54% to +7.79%)
 ↳ flock-reductions 95.11 ms 92.83 ms -3.21% (-7.68% to +5.07%)
 ↳ pcs-open 120.87 ms 118.55 ms -0.29% (-11.09% to +7.70%)
 ↳ prove-bus 21.07 ms 20.16 ms -3.54% (-6.10% to -1.62%)
 ↳ prove-constraints 9.08 ms 8.73 ms -3.82% (-8.69% to +0.93%)

Fibonacci

benchmark threads runner CPU measure base this PR change
fibonacci-asm-2000000 16 arm64 Neoverse-V2 Proving time 822.07 ms 817.05 ms -0.87% (-1.97% to -0.48%)
fibonacci-asm-2000000 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Proving time 510.30 ms 493.56 ms -2.23% (-3.53% to +0.87%)
fibonacci-asm-2000000 16 arm64 Neoverse-V2 Verifying time 3.22 ms 3.22 ms +0.29% (-0.16% to +0.48%)
fibonacci-asm-2000000 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Verifying time 3.25 ms 3.25 ms -0.17% (-3.76% to +1.68%)
fibonacci-asm-2000000 16 arm64 Neoverse-V2 Proof size 364,010 B 364,010 B 0 B (+0.00%)
fibonacci-asm-2000000 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Proof size 364,010 B 364,010 B 0 B (+0.00%)
fibonacci-asm-2000000 16 arm64 Neoverse-V2 Peak memory 7630.68 MiB 7629.98 MiB +0.01% (-0.10% to +0.09%)
fibonacci-asm-2000000 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Peak memory 3568.47 MiB 3566.05 MiB -0.07% (-0.11% to +0.01%)
fibonacci-asm-2000000 16 arm64 Neoverse-V2 Peak heap 7049.90 MiB 7049.90 MiB -0.00% (-0.00% to +0.00%)
fibonacci-asm-2000000 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Peak heap 3307.39 MiB 3307.44 MiB +0.00% (-0.00% to +0.00%)
fibonacci-asm-2000000 16 arm64 Neoverse-V2 Allocations 14,330 14,330 +0.00% (+0.00% to +0.01%)
fibonacci-asm-2000000 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Allocations 14,967 14,967 +0.00% (+0.00% to +0.00%)
Prover stages
benchmark threads runner CPU base this PR change
fibonacci-asm-2000000 16 arm64 Neoverse-V2 822.07 ms 817.05 ms -0.87% (-1.97% to -0.48%)
 ↳ build-witness 29.14 ms 29.15 ms +0.03% (-0.83% to +0.94%)
 ↳ commit 125.80 ms 125.59 ms +0.00% (-0.80% to +0.89%)
 ↳ execute-program 65.84 ms 65.37 ms -0.67% (-7.45% to +7.64%)
 ↳ flock-reductions 299.28 ms 294.20 ms -1.67% (-6.06% to -0.48%)
 ↳ pcs-open 232.74 ms 232.73 ms +0.56% (-1.42% to +0.94%)
 ↳ prove-bus 59.46 ms 59.58 ms +0.21% (-0.75% to +0.23%)
 ↳ prove-constraints 10.82 ms 10.79 ms -0.28% (-0.50% to +0.55%)
fibonacci-asm-2000000 16 x86-64 INTEL(R) XEON(R) GOLD 6548N 510.30 ms 493.56 ms -2.23% (-3.53% to +0.87%)
 ↳ build-witness 38.02 ms 38.04 ms -0.30% (-2.70% to +0.83%)
 ↳ commit 68.51 ms 68.19 ms -1.16% (-5.51% to +0.82%)
 ↳ execute-program 73.26 ms 73.70 ms +0.51% (-2.80% to +7.75%)
 ↳ flock-reductions 131.18 ms 130.82 ms -0.23% (-8.54% to +0.39%)
 ↳ pcs-open 134.51 ms 134.18 ms -0.11% (-8.49% to +0.21%)
 ↳ prove-bus 36.65 ms 36.21 ms -1.62% (-4.95% to +0.36%)
 ↳ prove-constraints 13.28 ms 13.17 ms +0.35% (-4.97% to +1.46%)

Field and transpose kernels

benchmark threads runner CPU measure base this PR change
f192-inv default arm64 Neoverse-V2 Time per operation 245.01 ns 245.01 ns -0.01% (-0.10% to +0.03%)
f192-inv default x86-64 INTEL(R) XEON(R) GOLD 6548N Time per operation 265.63 ns 265.49 ns -0.01% (-0.17% to +0.13%)
f192-mul-latency default arm64 Neoverse-V2 Time per operation 8.03 ns 8.03 ns +0.15% (-0.09% to +0.50%)
f192-mul-latency default x86-64 INTEL(R) XEON(R) GOLD 6548N Time per operation 7.53 ns 7.54 ns +0.13% (-0.12% to +0.71%)
f192-mul-throughput default arm64 Neoverse-V2 Time per operation 2.94 ns 2.94 ns +0.00% (-0.03% to +0.14%)
f192-mul-throughput default x86-64 INTEL(R) XEON(R) GOLD 6548N Time per operation 4.43 ns 4.44 ns +0.07% (+0.00% to +0.25%)
f192-mul4-latency default arm64 Neoverse-V2 Time per operation 12.77 ns 13.09 ns +0.08% (-3.03% to +3.57%)
f192-mul4-latency default x86-64 INTEL(R) XEON(R) GOLD 6548N Time per operation 10.10 ns 10.10 ns -0.03% (-0.11% to +0.00%)
f192-mul4-throughput default arm64 Neoverse-V2 Time per operation 10.76 ns 10.76 ns +0.01% (-0.07% to +0.07%)
f192-mul4-throughput default x86-64 INTEL(R) XEON(R) GOLD 6548N Time per operation 15.61 ns 15.61 ns -0.04% (-1.71% to +0.05%)
f192-square default arm64 Neoverse-V2 Time per operation 1.70 ns 1.70 ns +0.00% (-0.24% to +0.00%)
f192-square default x86-64 INTEL(R) XEON(R) GOLD 6548N Time per operation 3.32 ns 3.32 ns +0.12% (-0.21% to +0.30%)
f64-inv default arm64 Neoverse-V2 Time per operation 211.64 ns 211.51 ns -0.03% (-0.08% to +0.03%)
f64-inv default x86-64 INTEL(R) XEON(R) GOLD 6548N Time per operation 237.27 ns 237.21 ns -0.02% (-0.56% to +0.03%)
f64-mul default arm64 Neoverse-V2 Time per operation 0.56 ns 0.56 ns +0.00% (+0.00% to +0.36%)
f64-mul default x86-64 INTEL(R) XEON(R) GOLD 6548N Time per operation 0.86 ns 0.86 ns +0.00% (-0.12% to +0.00%)
f64-square default arm64 Neoverse-V2 Time per operation 0.55 ns 0.55 ns -0.18% (-1.08% to +0.18%)
f64-square default x86-64 INTEL(R) XEON(R) GOLD 6548N Time per operation 1.08 ns 1.08 ns +0.09% (-0.46% to +0.74%)
transpose-64bytes default arm64 Neoverse-V2 Time per operation 12.00 ns 12.00 ns +0.02% (-0.03% to +0.02%)
transpose-64bytes default x86-64 INTEL(R) XEON(R) GOLD 6548N Time per operation 0.84 ns 0.84 ns -0.12% (-1.53% to +0.48%)
transpose-64x64 default arm64 Neoverse-V2 Time per operation 96.44 ns 96.43 ns -0.02% (-0.10% to +0.05%)
transpose-64x64 default x86-64 INTEL(R) XEON(R) GOLD 6548N Time per operation 73.18 ns 73.17 ns -0.02% (-2.05% to +0.08%)

Flock

benchmark threads runner CPU measure base this PR change
flock-alu-batch-262144 16 arm64 Neoverse-V2 Proving time 52.03 ms 51.93 ms -0.42% (-0.91% to +4.01%)
flock-alu-batch-262144 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Proving time 29.71 ms 29.63 ms +4.23% (-9.83% to +13.33%)
flock-div-batch-262144 16 arm64 Neoverse-V2 Proving time 369.90 ms 369.22 ms -0.03% (-0.68% to +0.16%)
flock-div-batch-262144 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Proving time 185.07 ms 184.85 ms +0.53% (-15.23% to +5.92%)
flock-hash-batch-262144 16 arm64 Neoverse-V2 Proving time 767.34 ms 772.39 ms +0.70% (+0.33% to +1.97%)
flock-hash-batch-262144 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Proving time 371.03 ms 365.51 ms -1.50% (-11.73% to +6.58%)
flock-ld-batch-262144 16 arm64 Neoverse-V2 Proving time 15.89 ms 16.02 ms -0.06% (-2.71% to +13.50%)
flock-ld-batch-262144 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Proving time 9.82 ms 9.86 ms +1.24% (-5.91% to +17.70%)
flock-load-batch-262144 16 arm64 Neoverse-V2 Proving time 50.14 ms 50.64 ms +1.16% (-2.00% to +1.99%)
flock-load-batch-262144 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Proving time 28.78 ms 29.12 ms +5.11% (-12.07% to +15.05%)
flock-mul-batch-262144 16 arm64 Neoverse-V2 Proving time 189.47 ms 189.47 ms +0.04% (-1.09% to +1.04%)
flock-mul-batch-262144 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Proving time 97.98 ms 97.78 ms +4.76% (-15.11% to +11.47%)
flock-mulh-batch-262144 16 arm64 Neoverse-V2 Proving time 362.60 ms 361.87 ms -0.20% (-1.39% to +3.86%)
flock-mulh-batch-262144 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Proving time 188.04 ms 182.86 ms -8.20% (-14.82% to +4.85%)
flock-sd-batch-262144 16 arm64 Neoverse-V2 Proving time 16.47 ms 16.53 ms -0.29% (-1.55% to +0.90%)
flock-sd-batch-262144 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Proving time 9.87 ms 10.09 ms +3.82% (-10.24% to +17.47%)
flock-shift-batch-262144 16 arm64 Neoverse-V2 Proving time 50.67 ms 50.72 ms -0.19% (-0.68% to +0.71%)
flock-shift-batch-262144 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Proving time 28.09 ms 28.79 ms +2.48% (-25.24% to +14.37%)
flock-store-batch-262144 16 arm64 Neoverse-V2 Proving time 50.20 ms 50.60 ms +1.08% (-0.79% to +1.26%)
flock-store-batch-262144 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Proving time 28.79 ms 28.68 ms +0.48% (-15.56% to +12.70%)

PCS

benchmark threads runner CPU measure base this PR change
pcs-commit-22 16 arm64 Neoverse-V2 Proving time 7.29 ms 7.43 ms +1.93% (-13.82% to +10.66%)
pcs-commit-22 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Proving time 5.16 ms 5.19 ms +0.65% (-26.59% to +19.01%)
pcs-open-22 16 arm64 Neoverse-V2 Proving time 20.60 ms 20.81 ms +0.38% (-2.17% to +2.67%)
pcs-open-22 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Proving time 13.97 ms 14.25 ms +1.22% (-6.72% to +10.46%)
ntt-forward-22 16 arm64 Neoverse-V2 Time per operation 3.64 ms 3.75 ms -0.65% (-3.90% to +4.49%)
ntt-forward-22 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Time per operation 2.94 ms 2.92 ms -0.14% (-20.45% to +11.86%)

leanSPHINCS

benchmark threads runner CPU measure base this PR change
leansphincs-26 16 arm64 Neoverse-V2 Proving time 180.91 ms 180.39 ms -0.46% (-1.14% to +0.06%)
leansphincs-26 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Proving time 139.90 ms 144.19 ms +2.14% (-2.21% to +7.94%)
leansphincs-26 16 arm64 Neoverse-V2 Verifying time 3.23 ms 3.25 ms +0.51% (+0.08% to +2.28%)
leansphincs-26 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Verifying time 3.28 ms 3.30 ms -0.67% (-1.01% to +2.15%)
leansphincs-26 16 arm64 Neoverse-V2 Proof size 316,306 B 316,306 B 0 B (+0.00%)
leansphincs-26 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Proof size 316,306 B 316,306 B 0 B (+0.00%)
leansphincs-26 16 arm64 Neoverse-V2 Peak memory 1745.33 MiB 1745.80 MiB +0.03% (-0.15% to +0.40%)
leansphincs-26 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Peak memory 817.77 MiB 818.22 MiB +0.09% (-0.98% to +1.03%)
leansphincs-26 16 arm64 Neoverse-V2 Peak heap 1395.64 MiB 1395.62 MiB -0.00% (-0.01% to +0.01%)
leansphincs-26 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Peak heap 649.94 MiB 649.90 MiB -0.01% (-0.01% to -0.00%)
leansphincs-26 16 arm64 Neoverse-V2 Allocations 27,718 27,718 +0.00% (-0.01% to +0.00%)
leansphincs-26 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Allocations 28,417 28,416 -0.00% (-0.01% to +0.00%)
Prover stages
benchmark threads runner CPU base this PR change
leansphincs-26 16 arm64 Neoverse-V2 180.91 ms 180.39 ms -0.46% (-1.14% to +0.06%)
 ↳ build-witness 5.66 ms 5.71 ms +0.86% (+0.35% to +1.34%)
 ↳ commit 23.76 ms 23.80 ms +0.05% (-0.60% to +0.80%)
 ↳ execute-program 11.95 ms 11.85 ms -1.25% (-3.23% to +3.09%)
 ↳ flock-reductions 62.88 ms 62.40 ms -1.17% (-8.71% to -0.06%)
 ↳ pcs-open 57.31 ms 57.02 ms -0.51% (-1.21% to +5.68%)
 ↳ prove-bus 15.09 ms 15.20 ms +0.64% (+0.27% to +1.53%)
 ↳ prove-constraints 4.20 ms 4.29 ms +2.49% (+0.66% to +4.15%)
leansphincs-26 16 x86-64 INTEL(R) XEON(R) GOLD 6548N 139.90 ms 144.19 ms +2.14% (-2.21% to +7.94%)
 ↳ build-witness 9.53 ms 9.67 ms -1.59% (-3.68% to +3.24%)
 ↳ commit 14.93 ms 15.60 ms +3.83% (-4.61% to +16.19%)
 ↳ execute-program 13.85 ms 13.90 ms +1.02% (-1.55% to +4.48%)
 ↳ flock-reductions 42.21 ms 42.33 ms -1.79% (-9.13% to +15.24%)
 ↳ pcs-open 41.78 ms 42.66 ms +3.84% (-1.43% to +7.52%)
 ↳ prove-bus 12.31 ms 12.64 ms +2.27% (-2.22% to +13.88%)
 ↳ prove-constraints 5.49 ms 5.59 ms +0.49% (-0.44% to +8.32%)

leanXMSS

benchmark threads runner CPU measure base this PR change
aggregate-leanxmss-100-2to1-first 1 arm64 Neoverse-V2 Proving time 942.35 ms 939.73 ms -0.23% (-0.63% to +0.75%)
aggregate-leanxmss-100-2to1-first 4 arm64 Neoverse-V2 Proving time 263.64 ms 263.48 ms +0.03% (-0.83% to +0.18%)
aggregate-leanxmss-100-2to1-first 8 arm64 Neoverse-V2 Proving time 154.76 ms 154.97 ms +0.11% (-0.12% to +0.58%)
aggregate-leanxmss-100-2to1-first 16 arm64 Neoverse-V2 Proving time 102.26 ms 102.12 ms +0.19% (-1.33% to +0.85%)
aggregate-leanxmss-100-2to1-first 1 x86-64 INTEL(R) XEON(R) GOLD 6548N Proving time 580.91 ms 584.10 ms +1.28% (-1.01% to +1.51%)
aggregate-leanxmss-100-2to1-first 4 x86-64 INTEL(R) XEON(R) GOLD 6548N Proving time 179.62 ms 177.23 ms -1.58% (-7.40% to -0.26%)
aggregate-leanxmss-100-2to1-first 8 x86-64 INTEL(R) XEON(R) GOLD 6548N Proving time 113.75 ms 113.73 ms +0.24% (-1.98% to +1.63%)
aggregate-leanxmss-100-2to1-first 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Proving time 88.83 ms 89.74 ms +0.13% (-1.06% to +8.38%)
aggregate-leanxmss-100-2to1-node 1 arm64 Neoverse-V2 Proving time 988.85 ms 986.65 ms -0.22% (-0.43% to +0.32%)
aggregate-leanxmss-100-2to1-node 4 arm64 Neoverse-V2 Proving time 276.74 ms 277.02 ms -0.04% (-0.14% to +0.63%)
aggregate-leanxmss-100-2to1-node 8 arm64 Neoverse-V2 Proving time 162.20 ms 162.32 ms +0.07% (-0.32% to +0.80%)
aggregate-leanxmss-100-2to1-node 16 arm64 Neoverse-V2 Proving time 106.80 ms 105.78 ms -0.58% (-2.22% to -0.30%)
aggregate-leanxmss-100-2to1-node 1 x86-64 INTEL(R) XEON(R) GOLD 6548N Proving time 619.21 ms 616.79 ms -0.39% (-1.47% to +1.90%)
aggregate-leanxmss-100-2to1-node 4 x86-64 INTEL(R) XEON(R) GOLD 6548N Proving time 188.04 ms 186.28 ms -1.41% (-3.30% to +1.26%)
aggregate-leanxmss-100-2to1-node 8 x86-64 INTEL(R) XEON(R) GOLD 6548N Proving time 117.81 ms 117.72 ms -0.04% (-0.71% to +0.51%)
aggregate-leanxmss-100-2to1-node 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Proving time 88.70 ms 89.89 ms +1.34% (+0.37% to +4.06%)
aggregate-leanxmss-100-4to1-first 1 arm64 Neoverse-V2 Proving time 1.90 s 1.90 s -0.37% (-0.44% to +0.02%)
aggregate-leanxmss-100-4to1-first 4 arm64 Neoverse-V2 Proving time 520.12 ms 518.68 ms -0.26% (-0.39% to -0.15%)
aggregate-leanxmss-100-4to1-first 8 arm64 Neoverse-V2 Proving time 302.07 ms 301.52 ms -0.18% (-0.88% to +0.57%)
aggregate-leanxmss-100-4to1-first 16 arm64 Neoverse-V2 Proving time 193.03 ms 193.10 ms -0.06% (-2.35% to +2.40%)
aggregate-leanxmss-100-4to1-first 1 x86-64 INTEL(R) XEON(R) GOLD 6548N Proving time 1.13 s 1.13 s -0.01% (-0.40% to +0.14%)
aggregate-leanxmss-100-4to1-first 4 x86-64 INTEL(R) XEON(R) GOLD 6548N Proving time 352.43 ms 351.38 ms -0.30% (-1.17% to +0.64%)
aggregate-leanxmss-100-4to1-first 8 x86-64 INTEL(R) XEON(R) GOLD 6548N Proving time 212.54 ms 213.09 ms +0.70% (-1.36% to +7.98%)
aggregate-leanxmss-100-4to1-first 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Proving time 168.53 ms 163.08 ms -0.06% (-4.30% to +6.79%)
aggregate-leanxmss-100-4to1-node 1 arm64 Neoverse-V2 Proving time 2.07 s 2.06 s -0.13% (-6.16% to +2.58%)
aggregate-leanxmss-100-4to1-node 4 arm64 Neoverse-V2 Proving time 564.46 ms 562.52 ms -0.34% (-0.68% to -0.19%)
aggregate-leanxmss-100-4to1-node 8 arm64 Neoverse-V2 Proving time 326.18 ms 326.93 ms -0.27% (-0.35% to +0.91%)
aggregate-leanxmss-100-4to1-node 16 arm64 Neoverse-V2 Proving time 211.49 ms 209.12 ms +0.16% (-2.11% to +0.51%)
aggregate-leanxmss-100-4to1-node 1 x86-64 INTEL(R) XEON(R) GOLD 6548N Proving time 1.24 s 1.24 s +0.29% (-0.72% to +0.85%)
aggregate-leanxmss-100-4to1-node 4 x86-64 INTEL(R) XEON(R) GOLD 6548N Proving time 383.48 ms 383.35 ms -0.06% (-1.05% to +1.18%)
aggregate-leanxmss-100-4to1-node 8 x86-64 INTEL(R) XEON(R) GOLD 6548N Proving time 231.21 ms 231.01 ms -0.18% (-8.35% to +0.60%)
aggregate-leanxmss-100-4to1-node 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Proving time 178.35 ms 176.27 ms +0.30% (-7.49% to +2.01%)
leanxmss-100 1 arm64 Neoverse-V2 Proving time 1.78 s 1.77 s -0.16% (-0.37% to +0.12%)
leanxmss-100 4 arm64 Neoverse-V2 Proving time 475.92 ms 473.69 ms -0.31% (-0.71% to -0.28%)
leanxmss-100 8 arm64 Neoverse-V2 Proving time 266.82 ms 265.68 ms -0.46% (-1.02% to +0.61%)
leanxmss-100 16 arm64 Neoverse-V2 Proving time 163.90 ms 164.01 ms -0.23% (-0.82% to +3.86%)
leanxmss-100 1 x86-64 INTEL(R) XEON(R) GOLD 6548N Proving time 1.02 s 1.02 s -0.09% (-1.24% to +0.02%)
leanxmss-100 4 x86-64 INTEL(R) XEON(R) GOLD 6548N Proving time 296.47 ms 295.82 ms -0.18% (-0.82% to +0.02%)
leanxmss-100 8 x86-64 INTEL(R) XEON(R) GOLD 6548N Proving time 175.43 ms 175.09 ms -0.24% (-6.22% to +0.62%)
leanxmss-100 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Proving time 129.11 ms 128.67 ms -1.27% (-3.68% to +8.34%)
aggregate-leanxmss-100-2to1-first 1 arm64 Neoverse-V2 Verifying time 4.01 ms 4.01 ms +0.54% (-2.07% to +5.37%)
aggregate-leanxmss-100-2to1-first 4 arm64 Neoverse-V2 Verifying time 2.81 ms 2.80 ms -0.20% (-1.06% to +0.90%)
aggregate-leanxmss-100-2to1-first 8 arm64 Neoverse-V2 Verifying time 2.70 ms 2.70 ms +0.10% (-0.66% to +1.77%)
aggregate-leanxmss-100-2to1-first 16 arm64 Neoverse-V2 Verifying time 2.74 ms 2.76 ms +0.48% (-0.28% to +1.16%)
aggregate-leanxmss-100-2to1-first 1 x86-64 INTEL(R) XEON(R) GOLD 6548N Verifying time 3.79 ms 3.73 ms +1.09% (-9.89% to +6.45%)
aggregate-leanxmss-100-2to1-first 4 x86-64 INTEL(R) XEON(R) GOLD 6548N Verifying time 2.76 ms 2.78 ms -0.04% (-1.97% to +1.60%)
aggregate-leanxmss-100-2to1-first 8 x86-64 INTEL(R) XEON(R) GOLD 6548N Verifying time 2.78 ms 2.76 ms +0.07% (-1.66% to +3.07%)
aggregate-leanxmss-100-2to1-first 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Verifying time 2.89 ms 2.92 ms +2.31% (-0.06% to +3.57%)
aggregate-leanxmss-100-2to1-node 1 arm64 Neoverse-V2 Verifying time 6.67 ms 6.62 ms -0.90% (-1.98% to +2.26%)
aggregate-leanxmss-100-2to1-node 4 arm64 Neoverse-V2 Verifying time 3.56 ms 3.57 ms +0.00% (-0.94% to +1.70%)
aggregate-leanxmss-100-2to1-node 8 arm64 Neoverse-V2 Verifying time 3.15 ms 3.15 ms +0.14% (-0.45% to +0.53%)
aggregate-leanxmss-100-2to1-node 16 arm64 Neoverse-V2 Verifying time 3.05 ms 3.05 ms +0.20% (-0.41% to +0.62%)
aggregate-leanxmss-100-2to1-node 1 x86-64 INTEL(R) XEON(R) GOLD 6548N Verifying time 6.68 ms 6.81 ms -3.21% (-12.15% to +4.11%)
aggregate-leanxmss-100-2to1-node 4 x86-64 INTEL(R) XEON(R) GOLD 6548N Verifying time 3.74 ms 3.46 ms -4.67% (-9.03% to -1.16%)
aggregate-leanxmss-100-2to1-node 8 x86-64 INTEL(R) XEON(R) GOLD 6548N Verifying time 3.15 ms 3.14 ms +0.02% (-1.70% to +2.08%)
aggregate-leanxmss-100-2to1-node 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Verifying time 2.97 ms 3.07 ms +1.72% (-2.34% to +4.12%)
aggregate-leanxmss-100-4to1-first 1 arm64 Neoverse-V2 Verifying time 5.00 ms 5.01 ms -0.27% (-0.61% to +0.94%)
aggregate-leanxmss-100-4to1-first 4 arm64 Neoverse-V2 Verifying time 3.16 ms 3.16 ms +0.39% (-2.01% to +1.88%)
aggregate-leanxmss-100-4to1-first 8 arm64 Neoverse-V2 Verifying time 3.00 ms 3.01 ms +0.43% (-0.60% to +7.08%)
aggregate-leanxmss-100-4to1-first 16 arm64 Neoverse-V2 Verifying time 3.04 ms 3.06 ms +0.47% (-0.34% to +2.52%)
aggregate-leanxmss-100-4to1-first 1 x86-64 INTEL(R) XEON(R) GOLD 6548N Verifying time 4.08 ms 4.11 ms -0.54% (-2.25% to +1.23%)
aggregate-leanxmss-100-4to1-first 4 x86-64 INTEL(R) XEON(R) GOLD 6548N Verifying time 3.05 ms 3.02 ms -0.71% (-1.94% to +1.63%)
aggregate-leanxmss-100-4to1-first 8 x86-64 INTEL(R) XEON(R) GOLD 6548N Verifying time 3.00 ms 2.98 ms +0.57% (-1.99% to +2.13%)
aggregate-leanxmss-100-4to1-first 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Verifying time 3.20 ms 3.22 ms +0.61% (-4.70% to +4.37%)
aggregate-leanxmss-100-4to1-node 1 arm64 Neoverse-V2 Verifying time 10.28 ms 10.25 ms +0.97% (-46.67% to +4.92%)
aggregate-leanxmss-100-4to1-node 4 arm64 Neoverse-V2 Verifying time 4.54 ms 4.65 ms +2.47% (-0.55% to +2.83%)
aggregate-leanxmss-100-4to1-node 8 arm64 Neoverse-V2 Verifying time 3.83 ms 3.86 ms +0.06% (-3.00% to +2.99%)
aggregate-leanxmss-100-4to1-node 16 arm64 Neoverse-V2 Verifying time 3.53 ms 3.54 ms +0.60% (-0.27% to +1.57%)
aggregate-leanxmss-100-4to1-node 1 x86-64 INTEL(R) XEON(R) GOLD 6548N Verifying time 10.76 ms 10.58 ms -1.67% (-7.15% to +2.15%)
aggregate-leanxmss-100-4to1-node 4 x86-64 INTEL(R) XEON(R) GOLD 6548N Verifying time 4.91 ms 4.89 ms +0.08% (-2.42% to +1.42%)
aggregate-leanxmss-100-4to1-node 8 x86-64 INTEL(R) XEON(R) GOLD 6548N Verifying time 4.00 ms 4.02 ms +0.80% (-4.00% to +1.10%)
aggregate-leanxmss-100-4to1-node 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Verifying time 3.68 ms 3.69 ms +0.18% (-3.33% to +3.08%)
leanxmss-100 1 arm64 Neoverse-V2 Verifying time 3.06 ms 3.05 ms -0.02% (-1.37% to +0.82%)
leanxmss-100 4 arm64 Neoverse-V2 Verifying time 2.99 ms 2.98 ms -0.10% (-0.32% to +0.05%)
leanxmss-100 8 arm64 Neoverse-V2 Verifying time 3.05 ms 3.04 ms -0.25% (-2.03% to +0.62%)
leanxmss-100 16 arm64 Neoverse-V2 Verifying time 3.33 ms 3.32 ms -0.29% (-0.95% to +0.60%)
leanxmss-100 1 x86-64 INTEL(R) XEON(R) GOLD 6548N Verifying time 3.01 ms 2.99 ms -0.86% (-1.58% to +0.91%)
leanxmss-100 4 x86-64 INTEL(R) XEON(R) GOLD 6548N Verifying time 2.97 ms 2.98 ms +0.33% (-0.06% to +1.04%)
leanxmss-100 8 x86-64 INTEL(R) XEON(R) GOLD 6548N Verifying time 3.06 ms 3.07 ms +0.24% (-1.93% to +1.42%)
leanxmss-100 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Verifying time 3.22 ms 3.25 ms -0.93% (-5.94% to +4.05%)
aggregate-leanxmss-100-2to1-first 1 arm64 Neoverse-V2 Proof size 256,219 B 256,219 B 0 B (+0.00%)
aggregate-leanxmss-100-2to1-first 4 arm64 Neoverse-V2 Proof size 256,219 B 256,219 B 0 B (+0.00%)
aggregate-leanxmss-100-2to1-first 8 arm64 Neoverse-V2 Proof size 256,219 B 256,219 B 0 B (+0.00%)
aggregate-leanxmss-100-2to1-first 16 arm64 Neoverse-V2 Proof size 256,219 B 256,219 B 0 B (+0.00%)
aggregate-leanxmss-100-2to1-first 1 x86-64 INTEL(R) XEON(R) GOLD 6548N Proof size 256,219 B 256,219 B 0 B (+0.00%)
aggregate-leanxmss-100-2to1-first 4 x86-64 INTEL(R) XEON(R) GOLD 6548N Proof size 256,219 B 256,219 B 0 B (+0.00%)
aggregate-leanxmss-100-2to1-first 8 x86-64 INTEL(R) XEON(R) GOLD 6548N Proof size 256,219 B 256,219 B 0 B (+0.00%)
aggregate-leanxmss-100-2to1-first 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Proof size 256,219 B 256,219 B 0 B (+0.00%)
aggregate-leanxmss-100-2to1-node 1 arm64 Neoverse-V2 Proof size 256,859 B 256,859 B 0 B (+0.00%)
aggregate-leanxmss-100-2to1-node 4 arm64 Neoverse-V2 Proof size 256,859 B 256,859 B 0 B (+0.00%)
aggregate-leanxmss-100-2to1-node 8 arm64 Neoverse-V2 Proof size 256,859 B 256,859 B 0 B (+0.00%)
aggregate-leanxmss-100-2to1-node 16 arm64 Neoverse-V2 Proof size 256,859 B 256,859 B 0 B (+0.00%)
aggregate-leanxmss-100-2to1-node 1 x86-64 INTEL(R) XEON(R) GOLD 6548N Proof size 256,859 B 256,859 B 0 B (+0.00%)
aggregate-leanxmss-100-2to1-node 4 x86-64 INTEL(R) XEON(R) GOLD 6548N Proof size 256,859 B 256,859 B 0 B (+0.00%)
aggregate-leanxmss-100-2to1-node 8 x86-64 INTEL(R) XEON(R) GOLD 6548N Proof size 256,859 B 256,859 B 0 B (+0.00%)
aggregate-leanxmss-100-2to1-node 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Proof size 256,859 B 256,859 B 0 B (+0.00%)
aggregate-leanxmss-100-4to1-first 1 arm64 Neoverse-V2 Proof size 280,383 B 280,383 B 0 B (+0.00%)
aggregate-leanxmss-100-4to1-first 4 arm64 Neoverse-V2 Proof size 280,383 B 280,383 B 0 B (+0.00%)
aggregate-leanxmss-100-4to1-first 8 arm64 Neoverse-V2 Proof size 280,383 B 280,383 B 0 B (+0.00%)
aggregate-leanxmss-100-4to1-first 16 arm64 Neoverse-V2 Proof size 280,383 B 280,383 B 0 B (+0.00%)
aggregate-leanxmss-100-4to1-first 1 x86-64 INTEL(R) XEON(R) GOLD 6548N Proof size 280,383 B 280,383 B 0 B (+0.00%)
aggregate-leanxmss-100-4to1-first 4 x86-64 INTEL(R) XEON(R) GOLD 6548N Proof size 280,383 B 280,383 B 0 B (+0.00%)
aggregate-leanxmss-100-4to1-first 8 x86-64 INTEL(R) XEON(R) GOLD 6548N Proof size 280,383 B 280,383 B 0 B (+0.00%)
aggregate-leanxmss-100-4to1-first 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Proof size 280,383 B 280,383 B 0 B (+0.00%)
aggregate-leanxmss-100-4to1-node 1 arm64 Neoverse-V2 Proof size 281,215 B 281,215 B 0 B (+0.00%)
aggregate-leanxmss-100-4to1-node 4 arm64 Neoverse-V2 Proof size 281,215 B 281,215 B 0 B (+0.00%)
aggregate-leanxmss-100-4to1-node 8 arm64 Neoverse-V2 Proof size 281,215 B 281,215 B 0 B (+0.00%)
aggregate-leanxmss-100-4to1-node 16 arm64 Neoverse-V2 Proof size 281,215 B 281,215 B 0 B (+0.00%)
aggregate-leanxmss-100-4to1-node 1 x86-64 INTEL(R) XEON(R) GOLD 6548N Proof size 281,215 B 281,215 B 0 B (+0.00%)
aggregate-leanxmss-100-4to1-node 4 x86-64 INTEL(R) XEON(R) GOLD 6548N Proof size 281,215 B 281,215 B 0 B (+0.00%)
aggregate-leanxmss-100-4to1-node 8 x86-64 INTEL(R) XEON(R) GOLD 6548N Proof size 281,215 B 281,215 B 0 B (+0.00%)
aggregate-leanxmss-100-4to1-node 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Proof size 281,215 B 281,215 B 0 B (+0.00%)
leanxmss-100 1 arm64 Neoverse-V2 Proof size 303,314 B 303,314 B 0 B (+0.00%)
leanxmss-100 4 arm64 Neoverse-V2 Proof size 303,314 B 303,314 B 0 B (+0.00%)
leanxmss-100 8 arm64 Neoverse-V2 Proof size 303,314 B 303,314 B 0 B (+0.00%)
leanxmss-100 16 arm64 Neoverse-V2 Proof size 303,314 B 303,314 B 0 B (+0.00%)
leanxmss-100 1 x86-64 INTEL(R) XEON(R) GOLD 6548N Proof size 303,314 B 303,314 B 0 B (+0.00%)
leanxmss-100 4 x86-64 INTEL(R) XEON(R) GOLD 6548N Proof size 303,314 B 303,314 B 0 B (+0.00%)
leanxmss-100 8 x86-64 INTEL(R) XEON(R) GOLD 6548N Proof size 303,314 B 303,314 B 0 B (+0.00%)
leanxmss-100 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Proof size 303,314 B 303,314 B 0 B (+0.00%)
aggregate-leanxmss-100-2to1-first 1 arm64 Neoverse-V2 Peak memory 1568.20 MiB 1554.57 MiB -0.87% (-0.99% to -0.87%)
aggregate-leanxmss-100-2to1-first 4 arm64 Neoverse-V2 Peak memory 1592.27 MiB 1592.34 MiB -0.06% (-0.21% to +0.18%)
aggregate-leanxmss-100-2to1-first 8 arm64 Neoverse-V2 Peak memory 1628.33 MiB 1627.50 MiB +0.01% (-0.05% to +0.44%)
aggregate-leanxmss-100-2to1-first 16 arm64 Neoverse-V2 Peak memory 1702.34 MiB 1702.42 MiB -0.20% (-0.31% to +0.45%)
aggregate-leanxmss-100-2to1-first 1 x86-64 INTEL(R) XEON(R) GOLD 6548N Peak memory 834.59 MiB 835.12 MiB +0.06% (+0.03% to +0.34%)
aggregate-leanxmss-100-2to1-first 4 x86-64 INTEL(R) XEON(R) GOLD 6548N Peak memory 868.61 MiB 863.92 MiB -0.58% (-1.10% to -0.01%)
aggregate-leanxmss-100-2to1-first 8 x86-64 INTEL(R) XEON(R) GOLD 6548N Peak memory 890.67 MiB 894.26 MiB +0.40% (-0.63% to +0.93%)
aggregate-leanxmss-100-2to1-first 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Peak memory 929.44 MiB 931.21 MiB +0.59% (-0.80% to +1.22%)
aggregate-leanxmss-100-2to1-node 1 arm64 Neoverse-V2 Peak memory 1568.45 MiB 1554.99 MiB -0.86% (-0.99% to -0.86%)
aggregate-leanxmss-100-2to1-node 4 arm64 Neoverse-V2 Peak memory 1592.77 MiB 1593.09 MiB -0.08% (-0.20% to +0.22%)
aggregate-leanxmss-100-2to1-node 8 arm64 Neoverse-V2 Peak memory 1629.71 MiB 1630.12 MiB +0.04% (-0.18% to +0.38%)
aggregate-leanxmss-100-2to1-node 16 arm64 Neoverse-V2 Peak memory 1723.19 MiB 1725.76 MiB +0.26% (-0.45% to +0.65%)
aggregate-leanxmss-100-2to1-node 1 x86-64 INTEL(R) XEON(R) GOLD 6548N Peak memory 834.59 MiB 835.12 MiB +0.06% (+0.03% to +0.34%)
aggregate-leanxmss-100-2to1-node 4 x86-64 INTEL(R) XEON(R) GOLD 6548N Peak memory 873.04 MiB 873.52 MiB +0.20% (-0.63% to +0.33%)
aggregate-leanxmss-100-2to1-node 8 x86-64 INTEL(R) XEON(R) GOLD 6548N Peak memory 905.38 MiB 910.60 MiB +0.48% (+0.29% to +0.96%)
aggregate-leanxmss-100-2to1-node 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Peak memory 965.93 MiB 968.22 MiB -0.02% (-0.77% to +0.62%)
aggregate-leanxmss-100-4to1-first 1 arm64 Neoverse-V2 Peak memory 1958.64 MiB 1943.09 MiB -0.77% (-0.80% to +0.14%)
aggregate-leanxmss-100-4to1-first 4 arm64 Neoverse-V2 Peak memory 1981.57 MiB 1978.12 MiB -0.12% (-0.18% to -0.08%)
aggregate-leanxmss-100-4to1-first 8 arm64 Neoverse-V2 Peak memory 2017.65 MiB 2016.98 MiB +0.04% (-0.10% to +0.09%)
aggregate-leanxmss-100-4to1-first 16 arm64 Neoverse-V2 Peak memory 2110.32 MiB 2111.24 MiB +0.08% (-0.09% to +0.53%)
aggregate-leanxmss-100-4to1-first 1 x86-64 INTEL(R) XEON(R) GOLD 6548N Peak memory 1020.59 MiB 1021.13 MiB +0.05% (+0.05% to +0.08%)
aggregate-leanxmss-100-4to1-first 4 x86-64 INTEL(R) XEON(R) GOLD 6548N Peak memory 1057.52 MiB 1058.64 MiB +0.17% (-0.06% to +0.38%)
aggregate-leanxmss-100-4to1-first 8 x86-64 INTEL(R) XEON(R) GOLD 6548N Peak memory 1086.81 MiB 1085.12 MiB -0.31% (-0.65% to +0.82%)
aggregate-leanxmss-100-4to1-first 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Peak memory 1135.40 MiB 1131.29 MiB -0.24% (-0.57% to +0.29%)
aggregate-leanxmss-100-4to1-node 1 arm64 Neoverse-V2 Peak memory 1961.17 MiB 1943.66 MiB -0.78% (-0.90% to +0.02%)
aggregate-leanxmss-100-4to1-node 4 arm64 Neoverse-V2 Peak memory 1982.47 MiB 1978.87 MiB -0.11% (-0.20% to -0.08%)
aggregate-leanxmss-100-4to1-node 8 arm64 Neoverse-V2 Peak memory 2023.66 MiB 2025.16 MiB +0.14% (-0.24% to +0.31%)
aggregate-leanxmss-100-4to1-node 16 arm64 Neoverse-V2 Peak memory 2121.16 MiB 2124.96 MiB +0.07% (+0.04% to +0.59%)
aggregate-leanxmss-100-4to1-node 1 x86-64 INTEL(R) XEON(R) GOLD 6548N Peak memory 1046.60 MiB 1047.13 MiB +0.05% (-0.14% to +0.08%)
aggregate-leanxmss-100-4to1-node 4 x86-64 INTEL(R) XEON(R) GOLD 6548N Peak memory 1070.35 MiB 1069.84 MiB -0.10% (-0.51% to +0.58%)
aggregate-leanxmss-100-4to1-node 8 x86-64 INTEL(R) XEON(R) GOLD 6548N Peak memory 1105.23 MiB 1104.37 MiB -0.08% (-0.34% to +0.12%)
aggregate-leanxmss-100-4to1-node 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Peak memory 1169.71 MiB 1169.66 MiB -0.08% (-0.28% to +0.70%)
leanxmss-100 1 arm64 Neoverse-V2 Peak memory 1394.39 MiB 1394.82 MiB +0.03% (-0.55% to +0.18%)
leanxmss-100 4 arm64 Neoverse-V2 Peak memory 1416.45 MiB 1413.50 MiB -0.17% (-0.52% to -0.06%)
leanxmss-100 8 arm64 Neoverse-V2 Peak memory 1456.36 MiB 1458.08 MiB -0.00% (-0.14% to +0.22%)
leanxmss-100 16 arm64 Neoverse-V2 Peak memory 1518.69 MiB 1522.46 MiB +0.27% (-0.36% to +0.39%)
leanxmss-100 1 x86-64 INTEL(R) XEON(R) GOLD 6548N Peak memory 648.34 MiB 646.88 MiB +0.01% (-0.27% to +0.05%)
leanxmss-100 4 x86-64 INTEL(R) XEON(R) GOLD 6548N Peak memory 667.54 MiB 667.47 MiB +0.01% (-0.68% to +0.56%)
leanxmss-100 8 x86-64 INTEL(R) XEON(R) GOLD 6548N Peak memory 688.20 MiB 685.95 MiB -0.29% (-0.98% to +0.43%)
leanxmss-100 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Peak memory 713.51 MiB 717.50 MiB +0.53% (+0.10% to +1.72%)
aggregate-leanxmss-100-2to1-first 1 arm64 Neoverse-V2 Peak heap 600.60 MiB 600.60 MiB +0.00% (+0.00% to +0.00%)
aggregate-leanxmss-100-2to1-first 4 arm64 Neoverse-V2 Peak heap 600.59 MiB 600.59 MiB -0.00% (-0.00% to +0.00%)
aggregate-leanxmss-100-2to1-first 8 arm64 Neoverse-V2 Peak heap 600.46 MiB 600.52 MiB +0.00% (-0.00% to +0.01%)
aggregate-leanxmss-100-2to1-first 16 arm64 Neoverse-V2 Peak heap 600.52 MiB 600.52 MiB -0.00% (-0.02% to +0.02%)
aggregate-leanxmss-100-2to1-first 1 x86-64 INTEL(R) XEON(R) GOLD 6548N Peak heap 318.89 MiB 318.89 MiB +0.00% (+0.00% to +0.00%)
aggregate-leanxmss-100-2to1-first 4 x86-64 INTEL(R) XEON(R) GOLD 6548N Peak heap 318.96 MiB 318.94 MiB -0.01% (-0.01% to +0.03%)
aggregate-leanxmss-100-2to1-first 8 x86-64 INTEL(R) XEON(R) GOLD 6548N Peak heap 318.96 MiB 318.95 MiB -0.00% (-0.02% to +0.01%)
aggregate-leanxmss-100-2to1-first 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Peak heap 318.97 MiB 319.01 MiB +0.01% (-0.02% to +0.04%)
aggregate-leanxmss-100-2to1-node 1 arm64 Neoverse-V2 Peak heap 600.32 MiB 600.32 MiB +0.00% (+0.00% to +0.00%)
aggregate-leanxmss-100-2to1-node 4 arm64 Neoverse-V2 Peak heap 600.30 MiB 600.30 MiB +0.00% (-0.01% to +0.00%)
aggregate-leanxmss-100-2to1-node 8 arm64 Neoverse-V2 Peak heap 600.18 MiB 600.23 MiB +0.00% (+0.00% to +0.01%)
aggregate-leanxmss-100-2to1-node 16 arm64 Neoverse-V2 Peak heap 600.21 MiB 600.22 MiB +0.00% (+0.00% to +0.01%)
aggregate-leanxmss-100-2to1-node 1 x86-64 INTEL(R) XEON(R) GOLD 6548N Peak heap 318.60 MiB 318.60 MiB +0.00% (+0.00% to +0.00%)
aggregate-leanxmss-100-2to1-node 4 x86-64 INTEL(R) XEON(R) GOLD 6548N Peak heap 318.66 MiB 318.66 MiB -0.00% (-0.04% to +0.03%)
aggregate-leanxmss-100-2to1-node 8 x86-64 INTEL(R) XEON(R) GOLD 6548N Peak heap 318.67 MiB 318.66 MiB +0.00% (-0.04% to +0.04%)
aggregate-leanxmss-100-2to1-node 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Peak heap 318.68 MiB 318.73 MiB +0.03% (+0.00% to +0.05%)
aggregate-leanxmss-100-4to1-first 1 arm64 Neoverse-V2 Peak heap 1201.06 MiB 1201.06 MiB +0.00% (+0.00% to +0.00%)
aggregate-leanxmss-100-4to1-first 4 arm64 Neoverse-V2 Peak heap 1201.04 MiB 1201.04 MiB +0.00% (-0.01% to +0.01%)
aggregate-leanxmss-100-4to1-first 8 arm64 Neoverse-V2 Peak heap 1200.93 MiB 1200.94 MiB +0.00% (-0.00% to +0.01%)
aggregate-leanxmss-100-4to1-first 16 arm64 Neoverse-V2 Peak heap 1200.91 MiB 1200.92 MiB -0.00% (-0.01% to +0.01%)
aggregate-leanxmss-100-4to1-first 1 x86-64 INTEL(R) XEON(R) GOLD 6548N Peak heap 637.68 MiB 637.68 MiB +0.00% (+0.00% to +0.00%)
aggregate-leanxmss-100-4to1-first 4 x86-64 INTEL(R) XEON(R) GOLD 6548N Peak heap 637.66 MiB 637.69 MiB +0.00% (-0.01% to +0.01%)
aggregate-leanxmss-100-4to1-first 8 x86-64 INTEL(R) XEON(R) GOLD 6548N Peak heap 637.63 MiB 637.64 MiB +0.00% (-0.02% to +0.01%)
aggregate-leanxmss-100-4to1-first 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Peak heap 637.70 MiB 637.66 MiB +0.00% (-0.02% to +0.03%)
aggregate-leanxmss-100-4to1-node 1 arm64 Neoverse-V2 Peak heap 1200.58 MiB 1200.58 MiB +0.00% (+0.00% to +0.00%)
aggregate-leanxmss-100-4to1-node 4 arm64 Neoverse-V2 Peak heap 1200.57 MiB 1200.57 MiB +0.00% (-0.00% to +0.00%)
aggregate-leanxmss-100-4to1-node 8 arm64 Neoverse-V2 Peak heap 1200.45 MiB 1200.45 MiB +0.00% (-0.01% to +0.00%)
aggregate-leanxmss-100-4to1-node 16 arm64 Neoverse-V2 Peak heap 1200.43 MiB 1200.43 MiB -0.00% (-0.01% to +0.01%)
aggregate-leanxmss-100-4to1-node 1 x86-64 INTEL(R) XEON(R) GOLD 6548N Peak heap 637.21 MiB 637.21 MiB +0.00% (+0.00% to +0.00%)
aggregate-leanxmss-100-4to1-node 4 x86-64 INTEL(R) XEON(R) GOLD 6548N Peak heap 637.22 MiB 637.18 MiB -0.00% (-0.02% to +0.02%)
aggregate-leanxmss-100-4to1-node 8 x86-64 INTEL(R) XEON(R) GOLD 6548N Peak heap 637.11 MiB 637.10 MiB +0.01% (-0.00% to +0.02%)
aggregate-leanxmss-100-4to1-node 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Peak heap 637.13 MiB 637.18 MiB +0.01% (-0.04% to +0.03%)
leanxmss-100 1 arm64 Neoverse-V2 Peak heap 1202.03 MiB 1202.03 MiB +0.00% (+0.00% to +0.00%)
leanxmss-100 4 arm64 Neoverse-V2 Peak heap 1202.07 MiB 1202.09 MiB +0.00% (-0.01% to +0.01%)
leanxmss-100 8 arm64 Neoverse-V2 Peak heap 1201.85 MiB 1201.87 MiB +0.00% (-0.01% to +0.01%)
leanxmss-100 16 arm64 Neoverse-V2 Peak heap 1201.71 MiB 1201.71 MiB -0.00% (-0.01% to +0.00%)
leanxmss-100 1 x86-64 INTEL(R) XEON(R) GOLD 6548N Peak heap 557.78 MiB 557.78 MiB +0.00% (+0.00% to +0.00%)
leanxmss-100 4 x86-64 INTEL(R) XEON(R) GOLD 6548N Peak heap 557.85 MiB 557.86 MiB +0.00% (-0.02% to +0.01%)
leanxmss-100 8 x86-64 INTEL(R) XEON(R) GOLD 6548N Peak heap 557.92 MiB 557.91 MiB -0.00% (-0.03% to +0.03%)
leanxmss-100 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Peak heap 558.12 MiB 558.05 MiB -0.01% (-0.03% to +0.01%)
aggregate-leanxmss-100-2to1-first 1 arm64 Neoverse-V2 Allocations 17,800 17,802 +0.01% (+0.01% to +0.01%)
aggregate-leanxmss-100-2to1-first 4 arm64 Neoverse-V2 Allocations 17,926 17,928 +0.01% (+0.01% to +0.01%)
aggregate-leanxmss-100-2to1-first 8 arm64 Neoverse-V2 Allocations 18,070 18,072 +0.01% (+0.01% to +0.01%)
aggregate-leanxmss-100-2to1-first 16 arm64 Neoverse-V2 Allocations 18,358 18,360 +0.01% (+0.01% to +0.01%)
aggregate-leanxmss-100-2to1-first 1 x86-64 INTEL(R) XEON(R) GOLD 6548N Allocations 17,902 17,904 +0.01% (+0.01% to +0.01%)
aggregate-leanxmss-100-2to1-first 4 x86-64 INTEL(R) XEON(R) GOLD 6548N Allocations 18,031 18,033 +0.01% (+0.01% to +0.01%)
aggregate-leanxmss-100-2to1-first 8 x86-64 INTEL(R) XEON(R) GOLD 6548N Allocations 18,179 18,181 +0.01% (+0.01% to +0.01%)
aggregate-leanxmss-100-2to1-first 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Allocations 18,475 18,477 +0.01% (+0.01% to +0.01%)
aggregate-leanxmss-100-2to1-node 1 arm64 Neoverse-V2 Allocations 21,534 21,534 +0.00% (+0.00% to +0.00%)
aggregate-leanxmss-100-2to1-node 4 arm64 Neoverse-V2 Allocations 21,660 21,660 +0.00% (+0.00% to +0.00%)
aggregate-leanxmss-100-2to1-node 8 arm64 Neoverse-V2 Allocations 21,804 21,804 +0.00% (+0.00% to +0.00%)
aggregate-leanxmss-100-2to1-node 16 arm64 Neoverse-V2 Allocations 22,092 22,092 +0.00% (+0.00% to +0.09%)
aggregate-leanxmss-100-2to1-node 1 x86-64 INTEL(R) XEON(R) GOLD 6548N Allocations 21,628 21,628 +0.00% (+0.00% to +0.00%)
aggregate-leanxmss-100-2to1-node 4 x86-64 INTEL(R) XEON(R) GOLD 6548N Allocations 21,757 21,757 +0.00% (+0.00% to +0.00%)
aggregate-leanxmss-100-2to1-node 8 x86-64 INTEL(R) XEON(R) GOLD 6548N Allocations 21,905 21,905 +0.00% (+0.00% to +0.00%)
aggregate-leanxmss-100-2to1-node 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Allocations 22,201 22,201 +0.00% (+0.00% to +0.00%)
aggregate-leanxmss-100-4to1-first 1 arm64 Neoverse-V2 Allocations 29,761 29,765 +0.01% (+0.01% to +0.01%)
aggregate-leanxmss-100-4to1-first 4 arm64 Neoverse-V2 Allocations 29,899 29,903 +0.01% (+0.01% to +0.01%)
aggregate-leanxmss-100-4to1-first 8 arm64 Neoverse-V2 Allocations 30,083 30,087 +0.01% (+0.01% to +0.01%)
aggregate-leanxmss-100-4to1-first 16 arm64 Neoverse-V2 Allocations 30,403 30,407 +0.01% (+0.01% to +0.10%)
aggregate-leanxmss-100-4to1-first 1 x86-64 INTEL(R) XEON(R) GOLD 6548N Allocations 29,907 29,911 +0.01% (+0.01% to +0.01%)
aggregate-leanxmss-100-4to1-first 4 x86-64 INTEL(R) XEON(R) GOLD 6548N Allocations 30,048 30,052 +0.01% (+0.01% to +0.01%)
aggregate-leanxmss-100-4to1-first 8 x86-64 INTEL(R) XEON(R) GOLD 6548N Allocations 30,236 30,240 +0.01% (+0.01% to +0.01%)
aggregate-leanxmss-100-4to1-first 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Allocations 30,564 30,568 +0.01% (+0.01% to +0.02%)
aggregate-leanxmss-100-4to1-node 1 arm64 Neoverse-V2 Allocations 36,580 36,580 +0.00% (+0.00% to +0.00%)
aggregate-leanxmss-100-4to1-node 4 arm64 Neoverse-V2 Allocations 36,718 36,718 +0.00% (+0.00% to +0.00%)
aggregate-leanxmss-100-4to1-node 8 arm64 Neoverse-V2 Allocations 36,902 36,902 +0.00% (+0.00% to +0.00%)
aggregate-leanxmss-100-4to1-node 16 arm64 Neoverse-V2 Allocations 37,222 37,222 +0.00% (+0.00% to +0.07%)
aggregate-leanxmss-100-4to1-node 1 x86-64 INTEL(R) XEON(R) GOLD 6548N Allocations 36,726 36,726 +0.00% (+0.00% to +0.00%)
aggregate-leanxmss-100-4to1-node 4 x86-64 INTEL(R) XEON(R) GOLD 6548N Allocations 36,867 36,867 +0.00% (+0.00% to +0.00%)
aggregate-leanxmss-100-4to1-node 8 x86-64 INTEL(R) XEON(R) GOLD 6548N Allocations 37,055 37,055 +0.00% (+0.00% to +0.00%)
aggregate-leanxmss-100-4to1-node 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Allocations 37,383 37,383 +0.00% (+0.00% to +0.00%)
leanxmss-100 1 arm64 Neoverse-V2 Allocations 27,350 27,350 +0.00% (+0.00% to +0.00%)
leanxmss-100 4 arm64 Neoverse-V2 Allocations 27,568 27,568 +0.00% (+0.00% to +0.00%)
leanxmss-100 8 arm64 Neoverse-V2 Allocations 27,804 27,804 +0.00% (+0.00% to +0.00%)
leanxmss-100 16 arm64 Neoverse-V2 Allocations 28,276 28,276 +0.00% (-0.04% to +0.00%)
leanxmss-100 1 x86-64 INTEL(R) XEON(R) GOLD 6548N Allocations 27,868 27,868 +0.00% (+0.00% to +0.00%)
leanxmss-100 4 x86-64 INTEL(R) XEON(R) GOLD 6548N Allocations 28,123 28,123 +0.00% (+0.00% to +0.00%)
leanxmss-100 8 x86-64 INTEL(R) XEON(R) GOLD 6548N Allocations 28,407 28,407 +0.00% (+0.00% to +0.00%)
leanxmss-100 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Allocations 28,975 28,975 +0.00% (-0.01% to +0.01%)
Prover stages
benchmark threads runner CPU base this PR change
aggregate-leanxmss-100-2to1-first 1 arm64 Neoverse-V2 942.35 ms 939.73 ms -0.23% (-0.63% to +0.75%)
 ↳ build-circuit 12.31 ms 12.43 ms +0.18% (-1.08% to +5.14%)
 ↳ prove-recursion 907.05 ms 904.56 ms -0.30% (-0.62% to +0.66%)
 ↳ reduce-claims 15.42 ms 15.77 ms +1.78% (-0.61% to +4.26%)
 ↳ reduce-in-rows 1.40 ms 1.44 ms +3.74% (-2.35% to +7.78%)
 ↳ verify 5.86 ms 5.86 ms +0.05% (-1.98% to +3.90%)
aggregate-leanxmss-100-2to1-first 4 arm64 Neoverse-V2 263.64 ms 263.48 ms +0.03% (-0.83% to +0.18%)
 ↳ build-circuit 10.53 ms 10.48 ms -0.37% (-1.70% to +1.61%)
 ↳ prove-recursion 240.96 ms 240.79 ms -0.02% (-0.81% to +0.07%)
 ↳ reduce-claims 5.09 ms 5.11 ms +0.00% (-1.82% to +4.85%)
 ↳ reduce-in-rows 1.34 ms 1.40 ms +4.46% (-4.16% to +5.46%)
 ↳ verify 5.70 ms 5.71 ms +0.19% (-0.71% to +0.58%)
aggregate-leanxmss-100-2to1-first 8 arm64 Neoverse-V2 154.76 ms 154.97 ms +0.11% (-0.12% to +0.58%)
 ↳ build-circuit 10.18 ms 10.22 ms +0.34% (-0.39% to +1.69%)
 ↳ prove-recursion 133.20 ms 133.15 ms -0.07% (-0.20% to +0.35%)
 ↳ reduce-claims 4.04 ms 4.12 ms +1.05% (-3.30% to +9.33%)
 ↳ reduce-in-rows 1.43 ms 1.44 ms +2.22% (-5.21% to +5.99%)
 ↳ verify 5.82 ms 5.85 ms +0.24% (-0.31% to +0.63%)
aggregate-leanxmss-100-2to1-first 16 arm64 Neoverse-V2 102.26 ms 102.12 ms +0.19% (-1.33% to +0.85%)
 ↳ build-circuit 10.30 ms 10.30 ms +0.03% (-1.82% to +1.74%)
 ↳ prove-recursion 80.48 ms 80.43 ms +0.30% (-0.73% to +1.06%)
 ↳ reduce-claims 3.89 ms 3.67 ms -5.92% (-13.89% to +8.88%)
 ↳ reduce-in-rows 1.43 ms 1.40 ms -1.06% (-3.35% to +1.18%)
 ↳ verify 6.21 ms 6.27 ms +0.56% (-4.11% to +1.33%)
aggregate-leanxmss-100-2to1-first 1 x86-64 INTEL(R) XEON(R) GOLD 6548N 580.91 ms 584.10 ms +1.28% (-1.01% to +1.51%)
 ↳ build-circuit 15.16 ms 15.28 ms +4.24% (-7.79% to +14.96%)
 ↳ prove-recursion 538.58 ms 541.91 ms +0.62% (-0.77% to +1.42%)
 ↳ reduce-claims 18.64 ms 19.00 ms +1.90% (-1.04% to +8.22%)
 ↳ reduce-in-rows 1.74 ms 1.84 ms +5.87% (-10.78% to +14.27%)
 ↳ verify 6.82 ms 6.87 ms +1.01% (-4.15% to +3.11%)
aggregate-leanxmss-100-2to1-first 4 x86-64 INTEL(R) XEON(R) GOLD 6548N 179.62 ms 177.23 ms -1.58% (-7.40% to -0.26%)
 ↳ build-circuit 13.76 ms 14.02 ms +0.59% (-3.51% to +5.82%)
 ↳ prove-recursion 149.34 ms 148.65 ms -0.21% (-7.29% to -0.18%)
 ↳ reduce-claims 8.61 ms 6.50 ms -24.49% (-37.52% to -6.37%)
 ↳ reduce-in-rows 1.72 ms 1.65 ms -3.78% (-12.53% to +7.16%)
 ↳ verify 6.23 ms 6.25 ms +0.52% (-3.23% to +2.01%)
aggregate-leanxmss-100-2to1-first 8 x86-64 INTEL(R) XEON(R) GOLD 6548N 113.75 ms 113.73 ms +0.24% (-1.98% to +1.63%)
 ↳ build-circuit 13.77 ms 13.82 ms -0.16% (-3.17% to +2.28%)
 ↳ prove-recursion 85.42 ms 85.38 ms -0.05% (-1.19% to +0.38%)
 ↳ reduce-claims 6.09 ms 6.38 ms +0.51% (-11.08% to +25.93%)
 ↳ reduce-in-rows 1.78 ms 1.72 ms -2.75% (-8.55% to +3.30%)
 ↳ verify 6.42 ms 6.41 ms +0.24% (-1.06% to +0.80%)
aggregate-leanxmss-100-2to1-first 16 x86-64 INTEL(R) XEON(R) GOLD 6548N 88.83 ms 89.74 ms +0.13% (-1.06% to +8.38%)
 ↳ build-circuit 13.89 ms 13.96 ms +2.02% (-1.69% to +2.27%)
 ↳ prove-recursion 59.24 ms 59.37 ms +0.49% (-0.38% to +13.55%)
 ↳ reduce-claims 7.58 ms 6.68 ms -1.92% (-18.27% to +17.25%)
 ↳ reduce-in-rows 1.71 ms 1.74 ms +2.95% (-3.34% to +4.07%)
 ↳ verify 6.80 ms 6.79 ms +0.32% (-1.18% to +1.59%)
aggregate-leanxmss-100-2to1-node 1 arm64 Neoverse-V2 988.85 ms 986.65 ms -0.22% (-0.43% to +0.32%)
 ↳ build-circuit 12.30 ms 12.34 ms -0.29% (-1.73% to +1.39%)
 ↳ prove-recursion 938.73 ms 936.30 ms -0.26% (-0.39% to +0.30%)
 ↳ reduce-claims 30.69 ms 30.75 ms +0.15% (-1.14% to +1.16%)
 ↳ reduce-in-rows 1.46 ms 1.46 ms -0.60% (-3.71% to +5.92%)
aggregate-leanxmss-100-2to1-node 4 arm64 Neoverse-V2 276.74 ms 277.02 ms -0.04% (-0.14% to +0.63%)
 ↳ build-circuit 11.42 ms 11.40 ms -0.42% (-1.05% to +1.47%)
 ↳ prove-recursion 248.83 ms 248.86 ms +0.01% (-0.38% to +0.52%)
 ↳ reduce-claims 10.26 ms 10.31 ms +1.18% (-1.58% to +5.23%)
 ↳ reduce-in-rows 1.45 ms 1.43 ms -0.92% (-2.41% to +6.04%)
aggregate-leanxmss-100-2to1-node 8 arm64 Neoverse-V2 162.20 ms 162.32 ms +0.07% (-0.32% to +0.80%)
 ↳ build-circuit 11.20 ms 11.25 ms -0.01% (-0.89% to +2.53%)
 ↳ prove-recursion 137.38 ms 137.28 ms -0.14% (-0.30% to +0.61%)
 ↳ reduce-claims 7.60 ms 7.63 ms +0.11% (-4.65% to +6.33%)
 ↳ reduce-in-rows 1.52 ms 1.53 ms -1.52% (-2.83% to +8.66%)
aggregate-leanxmss-100-2to1-node 16 arm64 Neoverse-V2 106.80 ms 105.78 ms -0.58% (-2.22% to -0.30%)
 ↳ build-circuit 11.34 ms 11.22 ms -1.18% (-2.62% to +1.06%)
 ↳ prove-recursion 82.34 ms 81.95 ms -0.44% (-2.43% to -0.01%)
 ↳ reduce-claims 6.58 ms 6.48 ms -1.08% (-3.66% to +1.38%)
 ↳ reduce-in-rows 1.50 ms 1.50 ms +0.60% (-2.90% to +5.20%)
aggregate-leanxmss-100-2to1-node 1 x86-64 INTEL(R) XEON(R) GOLD 6548N 619.21 ms 616.79 ms -0.39% (-1.47% to +1.90%)
 ↳ build-circuit 15.69 ms 15.79 ms +2.55% (-8.71% to +3.63%)
 ↳ prove-recursion 559.31 ms 557.14 ms -0.39% (-1.21% to +1.81%)
 ↳ reduce-claims 35.63 ms 35.11 ms -1.76% (-2.66% to +2.68%)
 ↳ reduce-in-rows 1.82 ms 1.78 ms -1.90% (-3.48% to +12.22%)
aggregate-leanxmss-100-2to1-node 4 x86-64 INTEL(R) XEON(R) GOLD 6548N 188.04 ms 186.28 ms -1.41% (-3.30% to +1.26%)
 ↳ build-circuit 14.60 ms 14.51 ms +0.91% (-9.52% to +1.73%)
 ↳ prove-recursion 154.42 ms 152.74 ms -1.54% (-5.06% to +0.17%)
 ↳ reduce-claims 12.13 ms 12.10 ms -0.79% (-10.00% to +19.31%)
 ↳ reduce-in-rows 1.77 ms 1.72 ms -2.66% (-7.98% to +0.46%)
aggregate-leanxmss-100-2to1-node 8 x86-64 INTEL(R) XEON(R) GOLD 6548N 117.81 ms 117.72 ms -0.04% (-0.71% to +0.51%)
 ↳ build-circuit 14.32 ms 14.50 ms +0.88% (-2.23% to +3.71%)
 ↳ prove-recursion 87.44 ms 87.19 ms -0.29% (-1.02% to +0.37%)
 ↳ reduce-claims 8.71 ms 9.18 ms +4.97% (-8.91% to +8.89%)
 ↳ reduce-in-rows 1.77 ms 1.78 ms +0.64% (-4.50% to +8.18%)
aggregate-leanxmss-100-2to1-node 16 x86-64 INTEL(R) XEON(R) GOLD 6548N 88.70 ms 89.89 ms +1.34% (+0.37% to +4.06%)
 ↳ build-circuit 14.67 ms 14.64 ms +0.54% (-1.81% to +1.98%)
 ↳ prove-recursion 59.41 ms 60.04 ms +4.88% (+0.75% to +5.94%)
 ↳ reduce-claims 8.79 ms 8.19 ms -4.70% (-20.31% to +1.29%)
 ↳ reduce-in-rows 1.82 ms 1.84 ms +0.00% (-3.62% to +6.02%)
aggregate-leanxmss-100-4to1-first 1 arm64 Neoverse-V2 1.90 s 1.90 s -0.37% (-0.44% to +0.02%)
 ↳ build-circuit 25.97 ms 25.94 ms +0.19% (-1.88% to +1.08%)
 ↳ prove-recursion 1.84 s 1.84 s -0.36% (-0.44% to +0.01%)
 ↳ reduce-claims 21.30 ms 21.25 ms +0.20% (-0.59% to +0.63%)
 ↳ reduce-in-rows 2.81 ms 2.83 ms +1.16% (-1.22% to +2.75%)
 ↳ verify 11.80 ms 11.83 ms +0.29% (-0.90% to +1.24%)
aggregate-leanxmss-100-4to1-first 4 arm64 Neoverse-V2 520.12 ms 518.68 ms -0.26% (-0.39% to -0.15%)
 ↳ build-circuit 21.37 ms 21.44 ms +0.31% (-0.22% to +0.63%)
 ↳ prove-recursion 477.65 ms 476.22 ms -0.30% (-0.45% to -0.19%)
 ↳ reduce-claims 7.01 ms 6.88 ms +0.08% (-4.11% to +1.35%)
 ↳ reduce-in-rows 2.77 ms 2.79 ms +0.71% (-0.05% to +1.98%)
 ↳ verify 11.22 ms 11.23 ms +0.04% (-0.47% to +0.16%)
aggregate-leanxmss-100-4to1-first 8 arm64 Neoverse-V2 302.07 ms 301.52 ms -0.18% (-0.88% to +0.57%)
 ↳ build-circuit 20.88 ms 20.97 ms +0.08% (-4.08% to +1.60%)
 ↳ prove-recursion 261.11 ms 260.71 ms -0.15% (-0.52% to +0.46%)
 ↳ reduce-claims 5.14 ms 5.15 ms -1.30% (-3.75% to +5.42%)
 ↳ reduce-in-rows 2.81 ms 2.82 ms -0.49% (-5.84% to +3.80%)
 ↳ verify 11.57 ms 11.59 ms +0.38% (-0.69% to +0.91%)
aggregate-leanxmss-100-4to1-first 16 arm64 Neoverse-V2 193.03 ms 193.10 ms -0.06% (-2.35% to +2.40%)
 ↳ build-circuit 21.52 ms 21.64 ms -0.22% (-0.49% to +1.13%)
 ↳ prove-recursion 151.40 ms 151.46 ms -0.08% (-2.88% to +3.18%)
 ↳ reduce-claims 4.53 ms 4.54 ms +0.19% (-4.70% to +3.52%)
 ↳ reduce-in-rows 2.85 ms 2.86 ms +0.35% (-2.20% to +1.16%)
 ↳ verify 12.40 ms 12.48 ms +0.08% (-0.45% to +2.07%)
aggregate-leanxmss-100-4to1-first 1 x86-64 INTEL(R) XEON(R) GOLD 6548N 1.13 s 1.13 s -0.01% (-0.40% to +0.14%)
 ↳ build-circuit 31.35 ms 31.59 ms +1.22% (-0.68% to +1.94%)
 ↳ prove-recursion 1.06 s 1.06 s +0.01% (-0.35% to +0.10%)
 ↳ reduce-claims 25.64 ms 25.66 ms +0.06% (-0.90% to +0.91%)
 ↳ reduce-in-rows 3.44 ms 3.36 ms -3.23% (-7.42% to +3.06%)
 ↳ verify 12.09 ms 12.01 ms -0.93% (-1.28% to +0.78%)
aggregate-leanxmss-100-4to1-first 4 x86-64 INTEL(R) XEON(R) GOLD 6548N 352.43 ms 351.38 ms -0.30% (-1.17% to +0.64%)
 ↳ build-circuit 31.32 ms 31.00 ms -1.51% (-2.17% to +1.78%)
 ↳ prove-recursion 295.53 ms 295.56 ms -0.20% (-1.27% to +0.63%)
 ↳ reduce-claims 9.26 ms 9.13 ms -0.94% (-5.73% to +7.01%)
 ↳ reduce-in-rows 3.76 ms 3.67 ms -1.69% (-3.85% to +2.93%)
 ↳ verify 12.06 ms 12.07 ms +0.16% (-2.90% to +1.12%)
aggregate-leanxmss-100-4to1-first 8 x86-64 INTEL(R) XEON(R) GOLD 6548N 212.54 ms 213.09 ms +0.70% (-1.36% to +7.98%)
 ↳ build-circuit 30.49 ms 30.80 ms +2.16% (-1.07% to +10.70%)
 ↳ prove-recursion 158.53 ms 158.72 ms +0.14% (-0.18% to +7.96%)
 ↳ reduce-claims 7.62 ms 7.59 ms +5.80% (-25.91% to +14.61%)
 ↳ reduce-in-rows 3.69 ms 3.75 ms +1.03% (-4.83% to +5.76%)
 ↳ verify 12.15 ms 12.23 ms +0.27% (-1.26% to +2.30%)
aggregate-leanxmss-100-4to1-first 16 x86-64 INTEL(R) XEON(R) GOLD 6548N 168.53 ms 163.08 ms -0.06% (-4.30% to +6.79%)
 ↳ build-circuit 30.81 ms 30.78 ms +0.02% (-2.75% to +4.74%)
 ↳ prove-recursion 112.54 ms 109.10 ms +0.92% (-5.32% to +7.24%)
 ↳ reduce-claims 7.35 ms 7.02 ms -2.76% (-18.44% to +15.91%)
 ↳ reduce-in-rows 3.79 ms 3.70 ms -2.29% (-4.17% to +0.28%)
 ↳ verify 13.14 ms 13.28 ms +1.28% (-3.14% to +6.09%)
aggregate-leanxmss-100-4to1-node 1 arm64 Neoverse-V2 2.07 s 2.06 s -0.13% (-6.16% to +2.58%)
 ↳ build-circuit 30.35 ms 30.53 ms +0.61% (-0.06% to +49.99%)
 ↳ prove-recursion 1.96 s 1.96 s -0.18% (-6.44% to +0.52%)
 ↳ reduce-claims 56.27 ms 56.15 ms -0.11% (-0.99% to +33.23%)
 ↳ reduce-in-rows 2.97 ms 2.96 ms -0.24% (-1.80% to +74.04%)
aggregate-leanxmss-100-4to1-node 4 arm64 Neoverse-V2 564.46 ms 562.52 ms -0.34% (-0.68% to -0.19%)
 ↳ build-circuit 25.52 ms 25.64 ms +0.66% (-1.51% to +1.78%)
 ↳ prove-recursion 508.47 ms 505.97 ms -0.49% (-0.72% to -0.22%)
 ↳ reduce-claims 17.35 ms 17.34 ms -0.19% (-1.90% to +1.95%)
 ↳ reduce-in-rows 2.96 ms 2.96 ms +0.33% (-0.97% to +0.71%)
aggregate-leanxmss-100-4to1-node 8 arm64 Neoverse-V2 326.18 ms 326.93 ms -0.27% (-0.35% to +0.91%)
 ↳ build-circuit 25.08 ms 25.39 ms +1.24% (-1.32% to +3.81%)
 ↳ prove-recursion 276.24 ms 275.58 ms -0.30% (-0.89% to +0.83%)
 ↳ reduce-claims 11.80 ms 11.95 ms +1.43% (-0.32% to +1.91%)
 ↳ reduce-in-rows 3.00 ms 2.99 ms +0.06% (-2.60% to +1.90%)
aggregate-leanxmss-100-4to1-node 16 arm64 Neoverse-V2 211.49 ms 209.12 ms +0.16% (-2.11% to +0.51%)
 ↳ build-circuit 25.60 ms 25.63 ms +0.07% (-0.21% to +4.82%)
 ↳ prove-recursion 163.30 ms 160.65 ms -1.24% (-2.77% to +0.18%)
 ↳ reduce-claims 9.50 ms 9.56 ms +1.06% (-0.94% to +6.50%)
 ↳ reduce-in-rows 3.00 ms 2.99 ms -0.80% (-1.99% to +2.78%)
aggregate-leanxmss-100-4to1-node 1 x86-64 INTEL(R) XEON(R) GOLD 6548N 1.24 s 1.24 s +0.29% (-0.72% to +0.85%)
 ↳ build-circuit 36.08 ms 36.56 ms +1.70% (-0.83% to +2.78%)
 ↳ prove-recursion 1.12 s 1.12 s +0.30% (-0.72% to +0.61%)
 ↳ reduce-claims 64.98 ms 65.91 ms -0.32% (-5.54% to +9.63%)
 ↳ reduce-in-rows 3.49 ms 3.47 ms -0.35% (-9.29% to +10.13%)
aggregate-leanxmss-100-4to1-node 4 x86-64 INTEL(R) XEON(R) GOLD 6548N 383.48 ms 383.35 ms -0.06% (-1.05% to +1.18%)
 ↳ build-circuit 36.11 ms 36.05 ms +0.38% (-3.78% to +2.63%)
 ↳ prove-recursion 311.18 ms 311.16 ms -0.14% (-0.49% to +1.00%)
 ↳ reduce-claims 20.50 ms 20.40 ms -1.80% (-8.97% to +1.54%)
 ↳ reduce-in-rows 4.13 ms 4.05 ms -2.46% (-11.25% to +5.71%)
aggregate-leanxmss-100-4to1-node 8 x86-64 INTEL(R) XEON(R) GOLD 6548N 231.21 ms 231.01 ms -0.18% (-8.35% to +0.60%)
 ↳ build-circuit 35.23 ms 35.98 ms +0.97% (-1.68% to +5.96%)
 ↳ prove-recursion 166.13 ms 165.57 ms -0.78% (-11.01% to +0.69%)
 ↳ reduce-claims 15.03 ms 14.10 ms +1.40% (-13.42% to +4.59%)
 ↳ reduce-in-rows 4.04 ms 4.02 ms -1.58% (-3.24% to +2.84%)
aggregate-leanxmss-100-4to1-node 16 x86-64 INTEL(R) XEON(R) GOLD 6548N 178.35 ms 176.27 ms +0.30% (-7.49% to +2.01%)
 ↳ build-circuit 36.09 ms 36.63 ms +2.02% (-4.73% to +5.22%)
 ↳ prove-recursion 114.41 ms 112.81 ms +0.78% (-9.37% to +1.99%)
 ↳ reduce-claims 12.69 ms 12.20 ms -4.47% (-13.98% to +6.67%)
 ↳ reduce-in-rows 3.93 ms 3.95 ms +0.54% (-5.70% to +3.81%)
leanxmss-100 1 arm64 Neoverse-V2 1.78 s 1.77 s -0.16% (-0.37% to +0.12%)
 ↳ build-witness 46.17 ms 46.14 ms +0.13% (-0.70% to +1.29%)
 ↳ commit 294.88 ms 295.84 ms +0.02% (-0.27% to +0.63%)
 ↳ execute-program 10.17 ms 10.06 ms -0.17% (-3.60% to +2.49%)
 ↳ flock-reductions 646.43 ms 641.62 ms -0.72% (-1.27% to +0.03%)
 ↳ pcs-open 633.37 ms 635.34 ms +0.31% (-0.54% to +0.40%)
 ↳ prove-bus 131.29 ms 131.81 ms +0.12% (-0.27% to +1.44%)
 ↳ prove-constraints 14.25 ms 14.44 ms +0.66% (-3.27% to +6.79%)
leanxmss-100 4 arm64 Neoverse-V2 475.92 ms 473.69 ms -0.31% (-0.71% to -0.28%)
 ↳ build-witness 12.84 ms 12.80 ms -0.38% (-1.16% to +0.51%)
 ↳ commit 74.57 ms 74.39 ms -0.34% (-0.76% to +0.78%)
 ↳ execute-program 10.33 ms 10.39 ms +0.58% (-4.06% to +2.88%)
 ↳ flock-reductions 170.21 ms 168.81 ms -0.91% (-1.67% to -0.79%)
 ↳ pcs-open 166.42 ms 166.34 ms +0.19% (-0.82% to +0.29%)
 ↳ prove-bus 35.50 ms 35.55 ms +0.15% (-0.26% to +0.38%)
 ↳ prove-constraints 5.50 ms 5.49 ms -0.04% (-1.08% to +0.25%)
leanxmss-100 8 arm64 Neoverse-V2 266.82 ms 265.68 ms -0.46% (-1.02% to +0.61%)
 ↳ build-witness 7.37 ms 7.33 ms -0.05% (-4.32% to +3.61%)
 ↳ commit 38.37 ms 38.48 ms +0.32% (-2.44% to +1.54%)
 ↳ execute-program 10.54 ms 10.16 ms -4.11% (-7.38% to +3.72%)
 ↳ flock-reductions 94.35 ms 93.78 ms -0.54% (-1.05% to -0.47%)
 ↳ pcs-open 90.76 ms 90.70 ms -0.15% (-1.17% to +1.26%)
 ↳ prove-bus 20.67 ms 20.75 ms +0.44% (-1.48% to +0.86%)
 ↳ prove-constraints 4.23 ms 4.19 ms -0.68% (-1.11% to +0.49%)
leanxmss-100 16 arm64 Neoverse-V2 163.90 ms 164.01 ms -0.23% (-0.82% to +3.86%)
 ↳ build-witness 4.90 ms 4.96 ms +1.16% (-0.35% to +11.38%)
 ↳ commit 20.45 ms 20.47 ms -0.15% (-0.42% to +5.63%)
 ↳ execute-program 10.54 ms 10.56 ms +1.45% (-4.35% to +2.66%)
 ↳ flock-reductions 56.94 ms 56.78 ms -0.59% (-0.90% to +1.39%)
 ↳ pcs-open 53.50 ms 53.40 ms -0.17% (-1.11% to +7.30%)
 ↳ prove-bus 13.42 ms 13.44 ms +0.04% (-0.07% to +7.55%)
 ↳ prove-constraints 3.97 ms 3.97 ms +0.19% (-0.42% to +1.10%)
leanxmss-100 1 x86-64 INTEL(R) XEON(R) GOLD 6548N 1.02 s 1.02 s -0.09% (-1.24% to +0.02%)
 ↳ build-witness 68.16 ms 67.89 ms -0.26% (-1.31% to -0.00%)
 ↳ commit 183.34 ms 182.95 ms -0.39% (-1.36% to +0.58%)
 ↳ execute-program 12.15 ms 12.00 ms -0.76% (-7.13% to +0.15%)
 ↳ flock-reductions 301.39 ms 300.04 ms -0.46% (-1.06% to +0.49%)
 ↳ pcs-open 352.81 ms 352.43 ms -0.17% (-1.25% to +0.46%)
 ↳ prove-bus 80.62 ms 80.68 ms -0.08% (-1.06% to +0.30%)
 ↳ prove-constraints 18.87 ms 18.90 ms -0.27% (-4.02% to +1.00%)
leanxmss-100 4 x86-64 INTEL(R) XEON(R) GOLD 6548N 296.47 ms 295.82 ms -0.18% (-0.82% to +0.02%)
 ↳ build-witness 19.08 ms 18.99 ms -0.63% (-9.22% to +0.45%)
 ↳ commit 46.98 ms 46.72 ms -0.51% (-0.90% to -0.15%)
 ↳ execute-program 12.22 ms 12.01 ms -2.31% (-3.78% to -1.05%)
 ↳ flock-reductions 85.35 ms 85.40 ms -0.21% (-0.52% to +0.55%)
 ↳ pcs-open 101.21 ms 101.14 ms -0.12% (-1.25% to +1.08%)
 ↳ prove-bus 23.87 ms 23.81 ms -0.23% (-0.70% to +1.03%)
 ↳ prove-constraints 7.26 ms 7.26 ms +0.23% (-6.00% to +1.04%)
leanxmss-100 8 x86-64 INTEL(R) XEON(R) GOLD 6548N 175.43 ms 175.09 ms -0.24% (-6.22% to +0.62%)
 ↳ build-witness 10.90 ms 10.86 ms -0.31% (-2.35% to +0.52%)
 ↳ commit 23.19 ms 23.22 ms +0.17% (-0.10% to +0.33%)
 ↳ execute-program 12.09 ms 12.18 ms +0.85% (-2.98% to +6.61%)
 ↳ flock-reductions 50.27 ms 50.20 ms -0.31% (-0.97% to +0.66%)
 ↳ pcs-open 58.48 ms 58.18 ms -0.44% (-15.61% to -0.10%)
 ↳ prove-bus 14.80 ms 14.80 ms +0.41% (-0.92% to +1.61%)
 ↳ prove-constraints 5.26 ms 5.26 ms -0.38% (-1.82% to +1.46%)
leanxmss-100 16 x86-64 INTEL(R) XEON(R) GOLD 6548N 129.11 ms 128.67 ms -1.27% (-3.68% to +8.34%)
 ↳ build-witness 8.39 ms 8.38 ms -0.20% (-0.77% to +4.14%)
 ↳ commit 14.00 ms 13.97 ms -0.99% (-7.31% to +9.72%)
 ↳ execute-program 11.90 ms 11.64 ms -1.48% (-4.40% to +1.36%)
 ↳ flock-reductions 38.45 ms 39.12 ms +0.35% (-2.55% to +11.78%)
 ↳ pcs-open 40.31 ms 39.78 ms -0.25% (-9.26% to +12.17%)
 ↳ prove-bus 11.00 ms 11.28 ms +2.58% (-2.10% to +4.47%)
 ↳ prove-constraints 4.94 ms 4.90 ms -0.10% (-8.47% to +2.54%)

Prover::zero_knowledge(randomness) makes proofs that reveal nothing of the advice or the run beyond the run's shape: each table's height and the rate.

- ProofKind (Plain, ZeroKnowledge) is the one notion every layer takes: the witness's layout, the size check, the verifier's layout, the envelope (LVMZ for zero knowledge, so a proof of one kind is refused as the other) and the session.
- A zero-knowledge layout is the hiding stack (data lanes, zero lanes, the random group, every lane padded) and grinds L0_LIST_BITS more before the bus: the key commitment is a second list every challenge before the openings is unioned over.
- The final clock's free bits, the bus, the tables, flock's reductions and the opening's lane rounds travel under one-time-pad keys; the opening then reveals its claim and the rest is in the clear.
- The verifier runs its own core over the padded transcript through the zk crate's recorder (Layout::record_core); each free clock bit is recorded as a bit, so a failed row's bit 41 has no place in it.
- Deferred claims: the prover sends what they need of the public polynomials (each bytecode term, RAM's image, each circuit's slice weights); DeferredClaims::into_plain records each hidden claim as a linear constraint on them and batches them by one challenge into claims of the plain shape, which check_deferred settles as a plain proof's. So the core of either kind leaves the same claims, which recursion carries out alike.
- The outer proof shows the keys satisfy the record, discharged by the key commitment's opening.
- Program::prove_execution takes the Prover whose rate and randomness it proves with; verify, verify_core and verify_recording take either kind of proof. Aggregation trees still refuse zero-knowledge leaves, and the CLI's --zk is for single runs.

Tests: an honest proof verifies, round-trips its bytes, is refused under another output or as a plain proof, and is a function of its seed; tampered bytes across the proof are refused without panic; a forged run whose final clock carries the failure bit is refused by the outer proof.

Cost on leanXMSS-100 (Apple M1 Pro, 16 threads): proving 0.27 s plain, 0.29 to 0.32 s zero knowledge; proof 296 KiB to 485 KiB; verifying 3.8 ms to 7.5 ms. Every full-size workload proves and verifies in zero knowledge.

Co-Authored-By: Kevaundray Wedderburn <kevtheappdev@gmail.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@tcoratger
tcoratger force-pushed the zk-stack/5-zk-leaves branch from c1c0900 to 73902e1 Compare October 11, 2026 23:18
Co-Authored-By: Kevaundray Wedderburn <kevtheappdev@gmail.com>

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant