Skip to content

fiat_shamir: messages sent under a one-time pad - #620

Open
tcoratger wants to merge 1 commit into
zk-stack/1-specfrom
zk-stack/2-hidden-scalars
Open

tcoratger wants to merge 1 commit into
zk-stack/1-specfrom
zk-stack/2-hidden-scalars

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 2 of 6 of the zero-knowledge stack (spec: Annex F, "The transcript").

A zero-knowledge prover sends some scalars under a one-time pad it committed beforehand.

What

  • Keys. ProverState::set_keys takes them once.
  • Padding. While set_hidden(true) holds, each message is XORed with the next key, which is used once.
    • A key is one element of E, so it pads exactly one 24-byte message.
    • In E, XOR is addition, so x travels as x + key.
    • The codec needs no hook for this: padding is a byte operation.
  • Refusals.
    • A message of any other width sent while hiding is refused, so a root is never padded by mistake.
    • Running out of keys is refused, and so is hiding without keys.
  • Proof of work. A nonce stays in the clear.
  • The hidden section. Both sides track it:
    • ProverState and VerifierState each have set_hidden and is_hidden, and so does the Verifier trait;
    • a verifier of values reads a padded message as it is;
    • the recorder of part 4 holds it as its value plus an unknown key.
  • Replay. ProverState::proof is the proof so far, which the prover replays.

Tests

  • Padded scalars are read back as x + key, and the challenges match.
  • Each refusal path panics.

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

fc64b14 merged into its base, against the base ff3104f: 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

benchmark threads runner measure base this PR change
hash-50000 16 arm64 Allocations 16,664 19,337 +16.04% (+16.04% to +16.05%)
hash-50000 16 x86-64 Allocations 17,313 19,986 +15.44% (+15.43% to +15.44%)

Fibonacci

benchmark threads runner measure base this PR change
fibonacci-asm-2000000 16 arm64 Allocations 11,597 14,330 +23.57% (+23.57% to +23.58%)
fibonacci-asm-2000000 16 x86-64 Allocations 12,234 14,967 +22.34% (+22.34% to +22.34%)

Flock

benchmark threads runner measure base this PR change
flock-alu-batch-262144 16 x86-64 Proving time 30.13 ms 28.77 ms -5.94% (-6.50% to -0.86%)
flock-ld-batch-262144 16 x86-64 Proving time 10.12 ms 9.74 ms -3.75% (-15.76% to -1.93%)
flock-mul-batch-262144 16 x86-64 Proving time 96.61 ms 93.79 ms -4.29% (-6.68% to -0.61%)
flock-store-batch-262144 16 x86-64 Proving time 29.03 ms 27.28 ms -3.54% (-17.13% to -0.66%)

leanSPHINCS

benchmark threads runner measure base this PR change
leansphincs-26 16 arm64 Allocations 25,162 27,718 +10.16% (+10.13% to +10.16%)
leansphincs-26 16 x86-64 Allocations 25,861 28,416 +9.88% (+9.87% to +9.88%)
Prover stages
benchmark threads runner base this PR change
leansphincs-26 16 arm64 183.09 ms 181.59 ms -1.05% (-2.60% to +0.90%)
 ↳ build-witness 6.15 ms 5.69 ms -8.13% (-13.32% to -5.95%)
 ↳ commit 24.32 ms 24.04 ms -1.52% (-2.71% to +1.84%)
 ↳ execute-program 13.13 ms 11.76 ms -10.99% (-20.08% to -4.79%)
 ↳ flock-reductions 62.42 ms 62.18 ms -0.51% (-0.72% to +0.20%)
 ↳ pcs-open 57.31 ms 57.07 ms +0.84% (-1.63% to +6.72%)
 ↳ prove-bus 15.36 ms 15.31 ms -0.70% (-0.96% to +1.47%)
 ↳ prove-constraints 4.26 ms 4.24 ms -0.44% (-2.25% to +0.64%)

leanXMSS

benchmark threads runner measure base this PR change
aggregate-leanxmss-100-4to1-first 16 x86-64 Proving time 156.65 ms 153.71 ms -2.55% (-4.61% to -0.17%)
aggregate-leanxmss-100-2to1-first 16 arm64 Verifying time 2.73 ms 2.77 ms +1.19% (+0.55% to +3.08%)
aggregate-leanxmss-100-2to1-first 16 x86-64 Verifying time 3.10 ms 3.04 ms -1.34% (-8.39% to -1.02%)
aggregate-leanxmss-100-4to1-first 4 x86-64 Verifying time 3.21 ms 3.12 ms -1.70% (-4.62% to -0.32%)
aggregate-leanxmss-100-2to1-first 1 arm64 Allocations 16,733 17,798 +6.36% (+6.36% to +6.36%)
aggregate-leanxmss-100-2to1-first 4 arm64 Allocations 16,859 17,924 +6.32% (+6.32% to +6.32%)
aggregate-leanxmss-100-2to1-first 8 arm64 Allocations 17,003 18,068 +6.26% (+6.26% to +6.26%)
aggregate-leanxmss-100-2to1-first 16 arm64 Allocations 17,291 18,356 +6.16% (+6.16% to +6.16%)
aggregate-leanxmss-100-2to1-first 1 x86-64 Allocations 16,835 17,900 +6.33% (+6.33% to +6.33%)
aggregate-leanxmss-100-2to1-first 4 x86-64 Allocations 16,964 18,029 +6.28% (+6.28% to +6.28%)
aggregate-leanxmss-100-2to1-first 8 x86-64 Allocations 17,112 18,177 +6.22% (+6.22% to +6.22%)
aggregate-leanxmss-100-2to1-first 16 x86-64 Allocations 17,408 18,473 +6.12% (+6.12% to +6.12%)
aggregate-leanxmss-100-2to1-node 1 arm64 Allocations 20,451 21,527 +5.26% (+5.26% to +5.26%)
aggregate-leanxmss-100-2to1-node 4 arm64 Allocations 20,577 21,653 +5.23% (+5.23% to +5.23%)
aggregate-leanxmss-100-2to1-node 8 arm64 Allocations 20,721 21,797 +5.19% (+5.19% to +5.19%)
aggregate-leanxmss-100-2to1-node 16 arm64 Allocations 21,009 22,085 +5.12% (+5.12% to +5.12%)
aggregate-leanxmss-100-2to1-node 1 x86-64 Allocations 20,545 21,621 +5.24% (+5.24% to +5.24%)
aggregate-leanxmss-100-2to1-node 4 x86-64 Allocations 20,674 21,750 +5.20% (+5.18% to +5.20%)
aggregate-leanxmss-100-2to1-node 8 x86-64 Allocations 20,822 21,898 +5.17% (+5.17% to +5.17%)
aggregate-leanxmss-100-2to1-node 16 x86-64 Allocations 21,118 22,194 +5.10% (+5.10% to +5.10%)
aggregate-leanxmss-100-4to1-first 1 arm64 Allocations 28,648 29,742 +3.82% (+3.82% to +3.82%)
aggregate-leanxmss-100-4to1-first 4 arm64 Allocations 28,786 29,880 +3.80% (+3.80% to +3.80%)
aggregate-leanxmss-100-4to1-first 8 arm64 Allocations 28,970 30,064 +3.78% (+3.78% to +3.78%)
aggregate-leanxmss-100-4to1-first 16 arm64 Allocations 29,290 30,384 +3.74% (+3.74% to +3.74%)
aggregate-leanxmss-100-4to1-first 1 x86-64 Allocations 28,794 29,888 +3.80% (+3.80% to +3.80%)
aggregate-leanxmss-100-4to1-first 4 x86-64 Allocations 28,935 30,029 +3.78% (+3.78% to +3.78%)
aggregate-leanxmss-100-4to1-first 8 x86-64 Allocations 29,123 30,217 +3.76% (+3.76% to +3.76%)
aggregate-leanxmss-100-4to1-first 16 x86-64 Allocations 29,451 30,545 +3.71% (+3.71% to +3.73%)
aggregate-leanxmss-100-4to1-node 1 arm64 Allocations 35,456 36,563 +3.12% (+3.12% to +3.12%)
aggregate-leanxmss-100-4to1-node 4 arm64 Allocations 35,594 36,701 +3.11% (+3.11% to +3.11%)
aggregate-leanxmss-100-4to1-node 8 arm64 Allocations 35,778 36,885 +3.09% (+3.09% to +3.09%)
aggregate-leanxmss-100-4to1-node 16 arm64 Allocations 36,098 37,205 +3.07% (+3.07% to +3.08%)
aggregate-leanxmss-100-4to1-node 1 x86-64 Allocations 35,602 36,709 +3.11% (+3.11% to +3.11%)
aggregate-leanxmss-100-4to1-node 4 x86-64 Allocations 35,743 36,850 +3.10% (+3.10% to +3.10%)
aggregate-leanxmss-100-4to1-node 8 x86-64 Allocations 35,931 37,038 +3.08% (+3.08% to +3.08%)
aggregate-leanxmss-100-4to1-node 16 x86-64 Allocations 36,259 37,366 +3.05% (+3.05% to +3.06%)
leanxmss-100 1 arm64 Allocations 24,798 27,350 +10.29% (+10.29% to +10.29%)
leanxmss-100 4 arm64 Allocations 25,016 27,568 +10.20% (+10.20% to +10.20%)
leanxmss-100 8 arm64 Allocations 25,252 27,804 +10.11% (+10.11% to +10.11%)
leanxmss-100 16 arm64 Allocations 25,724 28,276 +9.92% (+9.92% to +9.93%)
leanxmss-100 1 x86-64 Allocations 25,316 27,868 +10.08% (+10.08% to +10.08%)
leanxmss-100 4 x86-64 Allocations 25,571 28,123 +9.98% (+9.98% to +9.98%)
leanxmss-100 8 x86-64 Allocations 25,855 28,407 +9.87% (+9.87% to +9.87%)
leanxmss-100 16 x86-64 Allocations 26,422 28,975 +9.66% (+9.66% to +9.69%)
Prover stages
benchmark threads runner base this PR change
aggregate-leanxmss-100-2to1-first 4 x86-64 163.83 ms 164.12 ms +1.02% (-4.29% to +3.69%)
 ↳ build-circuit 12.30 ms 13.01 ms +4.48% (+0.89% to +5.83%)
 ↳ prove-recursion 137.12 ms 136.75 ms +0.72% (-5.03% to +3.79%)
 ↳ reduce-claims 6.68 ms 6.36 ms -3.84% (-7.94% to +11.37%)
 ↳ reduce-in-rows 1.66 ms 1.62 ms -3.32% (-5.55% to -0.85%)
 ↳ verify 5.96 ms 5.71 ms -0.13% (-6.47% to +4.93%)
aggregate-leanxmss-100-2to1-node 16 arm64 105.80 ms 105.82 ms -0.34% (-1.31% to +1.68%)
 ↳ build-circuit 11.30 ms 11.26 ms -0.15% (-1.59% to +1.35%)
 ↳ prove-recursion 81.82 ms 81.83 ms +0.30% (-1.53% to +1.42%)
 ↳ reduce-claims 6.57 ms 6.53 ms -1.00% (-3.53% to +4.42%)
 ↳ reduce-in-rows 1.51 ms 1.48 ms -1.14% (-4.92% to -0.00%)
aggregate-leanxmss-100-4to1-first 1 arm64 1.90 s 1.91 s -0.07% (-0.12% to +2.20%)
 ↳ build-circuit 25.43 ms 25.49 ms +0.35% (-0.02% to +29.68%)
 ↳ prove-recursion 1.84 s 1.84 s -0.07% (-0.15% to +1.51%)
 ↳ reduce-claims 21.06 ms 21.24 ms +1.91% (-1.07% to +20.21%)
 ↳ reduce-in-rows 2.74 ms 2.79 ms +1.72% (+0.07% to +6.90%)
 ↳ verify 11.52 ms 11.59 ms +0.33% (+0.32% to +16.84%)
aggregate-leanxmss-100-4to1-first 1 x86-64 1.16 s 1.15 s -0.37% (-1.12% to +0.53%)
 ↳ build-circuit 32.07 ms 31.85 ms -0.87% (-2.07% to -0.26%)
 ↳ prove-recursion 1.08 s 1.07 s -0.33% (-1.14% to +0.58%)
 ↳ reduce-claims 26.56 ms 26.37 ms -1.10% (-1.44% to +1.20%)
 ↳ reduce-in-rows 3.71 ms 3.58 ms -6.77% (-12.44% to -0.89%)
 ↳ verify 12.27 ms 12.23 ms -0.39% (-1.28% to +0.06%)
aggregate-leanxmss-100-4to1-first 4 x86-64 350.95 ms 349.32 ms -0.63% (-0.94% to +0.47%)
 ↳ build-circuit 31.75 ms 31.78 ms +0.67% (-5.16% to +1.10%)
 ↳ prove-recursion 293.19 ms 293.19 ms +0.02% (-0.43% to +0.23%)
 ↳ reduce-claims 9.16 ms 8.85 ms -4.24% (-11.59% to +11.42%)
 ↳ reduce-in-rows 3.98 ms 3.76 ms -5.75% (-6.87% to -2.81%)
 ↳ verify 12.03 ms 11.94 ms -0.76% (-2.01% to +1.08%)
aggregate-leanxmss-100-4to1-first 16 x86-64 156.65 ms 153.71 ms -2.55% (-4.61% to -0.17%)
 ↳ build-circuit 28.35 ms 28.74 ms +1.05% (-4.94% to +3.79%)
 ↳ prove-recursion 104.87 ms 101.61 ms -2.67% (-6.55% to +0.58%)
 ↳ reduce-claims 7.19 ms 6.83 ms -5.04% (-10.28% to -0.52%)
 ↳ reduce-in-rows 3.50 ms 3.37 ms -3.82% (-4.81% to -3.70%)
 ↳ verify 12.53 ms 12.30 ms -1.43% (-4.42% to +2.96%)
aggregate-leanxmss-100-4to1-node 16 arm64 206.86 ms 207.23 ms +0.34% (-2.01% to +3.02%)
 ↳ build-circuit 24.74 ms 24.82 ms -0.29% (-0.98% to +1.88%)
 ↳ prove-recursion 159.92 ms 159.99 ms +0.52% (-2.47% to +3.29%)
 ↳ reduce-claims 9.45 ms 9.62 ms +1.48% (+0.32% to +4.58%)
 ↳ reduce-in-rows 3.00 ms 2.97 ms -1.26% (-1.63% to +1.56%)
aggregate-leanxmss-100-4to1-node 1 x86-64 1.27 s 1.26 s -0.36% (-2.21% to +0.17%)
 ↳ build-circuit 39.16 ms 38.47 ms -1.75% (-12.28% to +3.13%)
 ↳ prove-recursion 1.14 s 1.14 s -0.46% (-1.91% to +0.34%)
 ↳ reduce-claims 66.56 ms 69.39 ms +0.32% (-2.89% to +5.66%)
 ↳ reduce-in-rows 3.83 ms 3.61 ms -3.91% (-9.99% to -1.70%)
aggregate-leanxmss-100-4to1-node 4 x86-64 380.61 ms 381.57 ms -0.16% (-0.43% to +0.56%)
 ↳ build-circuit 37.38 ms 36.96 ms -2.03% (-3.30% to +3.30%)
 ↳ prove-recursion 307.70 ms 307.43 ms -0.09% (-0.19% to +0.17%)
 ↳ reduce-claims 20.60 ms 20.67 ms +0.38% (-1.47% to +6.87%)
 ↳ reduce-in-rows 4.23 ms 4.06 ms -3.75% (-5.12% to -1.53%)
leanxmss-100 8 arm64 265.66 ms 264.32 ms -0.38% (-0.64% to -0.06%)
 ↳ build-witness 7.39 ms 7.38 ms -0.32% (-0.56% to +0.39%)
 ↳ commit 38.58 ms 38.27 ms -0.82% (-1.18% to -0.33%)
 ↳ execute-program 10.33 ms 10.19 ms -0.64% (-3.05% to +0.66%)
 ↳ flock-reductions 93.61 ms 93.48 ms -0.12% (-0.24% to +0.34%)
 ↳ pcs-open 90.73 ms 90.03 ms -0.44% (-0.87% to +0.08%)
 ↳ prove-bus 20.65 ms 20.57 ms -0.14% (-0.57% to +0.21%)
 ↳ prove-constraints 4.25 ms 4.17 ms -1.56% (-2.42% to -0.10%)
leanxmss-100 16 arm64 163.46 ms 162.45 ms +0.07% (-4.31% to +0.26%)
 ↳ build-witness 4.85 ms 4.81 ms -0.23% (-0.92% to +0.32%)
 ↳ commit 20.54 ms 20.56 ms +0.25% (-0.62% to +0.85%)
 ↳ execute-program 10.20 ms 10.55 ms +2.08% (+0.99% to +4.38%)
 ↳ flock-reductions 56.54 ms 56.48 ms -0.23% (-9.25% to +0.31%)
 ↳ pcs-open 53.19 ms 53.13 ms -0.11% (-3.23% to +0.06%)
 ↳ prove-bus 13.36 ms 13.39 ms -0.25% (-1.37% to +1.13%)
 ↳ prove-constraints 3.78 ms 3.78 ms -0.61% (-2.14% to +2.24%)
Every result

BLAKE2s

benchmark threads runner CPU measure base this PR change
hash-50000 16 arm64 Neoverse-V2 Proving time 520.33 ms 517.99 ms -0.15% (-0.88% to +19.39%)
hash-50000 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Proving time 357.84 ms 351.30 ms -0.30% (-4.59% to +6.86%)
hash-50000 16 arm64 Neoverse-V2 Verifying time 3.16 ms 3.17 ms +0.33% (-0.67% to +4.50%)
hash-50000 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Verifying time 3.15 ms 3.13 ms +0.19% (-2.32% to +0.69%)
blake2s-batch 16 arm64 Neoverse-V2 Time per operation 2.90 ns 2.90 ns -0.07% (-0.24% to +0.24%)
blake2s-batch 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Time per operation 1.01 ns 1.09 ns +0.00% (-0.10% to +17.08%)
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 4975.68 MiB 4977.44 MiB -0.04% (-0.16% to +0.26%)
hash-50000 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Peak memory 2193.40 MiB 2194.22 MiB +0.04% (-0.10% to +0.34%)
hash-50000 16 arm64 Neoverse-V2 Peak heap 4400.86 MiB 4400.87 MiB +0.00% (-0.00% to +0.00%)
hash-50000 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Peak heap 1917.32 MiB 1917.31 MiB +0.00% (-0.01% to +0.01%)
hash-50000 16 arm64 Neoverse-V2 Allocations 16,664 19,337 +16.04% (+16.04% to +16.05%)
hash-50000 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Allocations 17,313 19,986 +15.44% (+15.43% to +15.44%)
Prover stages
benchmark threads runner CPU base this PR change
hash-50000 16 arm64 Neoverse-V2 520.33 ms 517.99 ms -0.15% (-0.88% to +19.39%)
 ↳ build-witness 19.83 ms 19.92 ms +0.86% (-0.44% to +34.83%)
 ↳ commit 81.74 ms 81.52 ms -0.08% (-0.78% to +10.01%)
 ↳ execute-program 23.73 ms 23.63 ms -0.04% (-15.59% to +50.35%)
 ↳ flock-reductions 170.30 ms 170.03 ms +0.11% (-0.52% to +21.50%)
 ↳ pcs-open 185.50 ms 185.61 ms +0.09% (-1.89% to +14.08%)
 ↳ prove-bus 29.89 ms 29.97 ms +0.21% (-0.51% to +31.85%)
 ↳ prove-constraints 7.10 ms 7.24 ms +3.12% (-3.67% to +16.59%)
hash-50000 16 x86-64 INTEL(R) XEON(R) GOLD 6548N 357.84 ms 351.30 ms -0.30% (-4.59% to +6.86%)
 ↳ build-witness 22.63 ms 23.25 ms -2.17% (-3.77% to +7.27%)
 ↳ commit 47.34 ms 49.66 ms +0.65% (-5.27% to +12.12%)
 ↳ execute-program 30.91 ms 30.41 ms -1.62% (-22.32% to +2.65%)
 ↳ flock-reductions 94.42 ms 93.65 ms -1.11% (-1.66% to +8.17%)
 ↳ pcs-open 128.13 ms 124.97 ms -0.02% (-6.80% to +5.74%)
 ↳ prove-bus 21.30 ms 21.20 ms -0.50% (-3.45% to +7.00%)
 ↳ prove-constraints 8.60 ms 8.52 ms -1.94% (-4.03% to +5.40%)

Fibonacci

benchmark threads runner CPU measure base this PR change
fibonacci-asm-2000000 16 arm64 Neoverse-V2 Proving time 818.17 ms 824.10 ms -0.03% (-0.34% to +1.21%)
fibonacci-asm-2000000 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Proving time 530.14 ms 530.59 ms +0.47% (-3.78% to +5.90%)
fibonacci-asm-2000000 16 arm64 Neoverse-V2 Verifying time 3.21 ms 3.22 ms -0.12% (-8.88% to +1.21%)
fibonacci-asm-2000000 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Verifying time 3.30 ms 3.28 ms -0.57% (-2.17% to +1.48%)
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 7632.23 MiB 7631.55 MiB +0.00% (-0.05% to +0.07%)
fibonacci-asm-2000000 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Peak memory 3564.67 MiB 3564.47 MiB +0.01% (-0.15% to +0.08%)
fibonacci-asm-2000000 16 arm64 Neoverse-V2 Peak heap 7049.80 MiB 7049.95 MiB +0.00% (+0.00% to +0.00%)
fibonacci-asm-2000000 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Peak heap 3307.41 MiB 3307.38 MiB -0.00% (-0.01% to +0.00%)
fibonacci-asm-2000000 16 arm64 Neoverse-V2 Allocations 11,597 14,330 +23.57% (+23.57% to +23.58%)
fibonacci-asm-2000000 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Allocations 12,234 14,967 +22.34% (+22.34% to +22.34%)
Prover stages
benchmark threads runner CPU base this PR change
fibonacci-asm-2000000 16 arm64 Neoverse-V2 818.17 ms 824.10 ms -0.03% (-0.34% to +1.21%)
 ↳ build-witness 29.40 ms 29.29 ms -0.19% (-3.16% to +1.03%)
 ↳ commit 125.89 ms 125.39 ms -0.23% (-0.84% to +0.14%)
 ↳ execute-program 64.06 ms 65.85 ms +3.73% (-3.33% to +7.54%)
 ↳ flock-reductions 294.40 ms 295.09 ms +0.07% (-1.14% to +1.87%)
 ↳ pcs-open 233.31 ms 234.55 ms +0.06% (-0.59% to +0.70%)
 ↳ prove-bus 59.77 ms 59.50 ms -0.13% (-1.06% to +0.72%)
 ↳ prove-constraints 10.85 ms 10.86 ms -0.05% (-0.94% to +5.60%)
fibonacci-asm-2000000 16 x86-64 INTEL(R) XEON(R) GOLD 6548N 530.14 ms 530.59 ms +0.47% (-3.78% to +5.90%)
 ↳ build-witness 39.94 ms 40.46 ms +3.02% (-4.36% to +3.37%)
 ↳ commit 71.79 ms 72.46 ms +4.48% (-4.23% to +5.81%)
 ↳ execute-program 75.93 ms 76.91 ms +4.52% (-1.44% to +5.97%)
 ↳ flock-reductions 144.61 ms 142.93 ms -1.17% (-7.73% to +8.91%)
 ↳ pcs-open 144.79 ms 144.37 ms -3.51% (-5.11% to +6.61%)
 ↳ prove-bus 39.03 ms 39.12 ms +4.27% (-3.93% to +5.35%)
 ↳ prove-constraints 14.35 ms 14.24 ms +1.05% (-6.12% to +5.99%)

Field and transpose kernels

benchmark threads runner CPU measure base this PR change
f192-inv default arm64 Neoverse-V2 Time per operation 244.95 ns 244.94 ns -0.00% (-0.10% to +0.01%)
f192-inv default x86-64 INTEL(R) XEON(R) GOLD 6548N Time per operation 265.58 ns 265.76 ns +0.07% (-0.03% to +0.18%)
f192-mul-latency default arm64 Neoverse-V2 Time per operation 8.03 ns 8.01 ns -0.26% (-0.81% to +0.54%)
f192-mul-latency default x86-64 INTEL(R) XEON(R) GOLD 6548N Time per operation 7.54 ns 7.55 ns +0.09% (+0.01% to +0.15%)
f192-mul-throughput default arm64 Neoverse-V2 Time per operation 2.94 ns 2.94 ns +0.00% (-0.03% to +0.03%)
f192-mul-throughput default x86-64 INTEL(R) XEON(R) GOLD 6548N Time per operation 4.44 ns 4.44 ns +0.00% (-0.13% to +0.11%)
f192-mul4-latency default arm64 Neoverse-V2 Time per operation 13.09 ns 12.79 ns -0.77% (-2.66% to +0.37%)
f192-mul4-latency default x86-64 INTEL(R) XEON(R) GOLD 6548N Time per operation 10.10 ns 10.10 ns +0.13% (+0.01% to +0.23%)
f192-mul4-throughput default arm64 Neoverse-V2 Time per operation 10.76 ns 10.76 ns -0.06% (-0.16% to +0.15%)
f192-mul4-throughput default x86-64 INTEL(R) XEON(R) GOLD 6548N Time per operation 15.62 ns 15.62 ns +0.02% (-0.20% to +0.22%)
f192-square default arm64 Neoverse-V2 Time per operation 1.70 ns 1.70 ns +0.06% (+0.00% to +0.12%)
f192-square default x86-64 INTEL(R) XEON(R) GOLD 6548N Time per operation 3.28 ns 3.29 ns +0.03% (-0.03% to +0.70%)
f64-inv default arm64 Neoverse-V2 Time per operation 211.47 ns 211.54 ns +0.03% (-0.08% to +0.10%)
f64-inv default x86-64 INTEL(R) XEON(R) GOLD 6548N Time per operation 237.60 ns 237.52 ns -0.02% (-0.35% to +0.15%)
f64-mul default arm64 Neoverse-V2 Time per operation 0.56 ns 0.56 ns +0.00% (-0.18% to +0.54%)
f64-mul default x86-64 INTEL(R) XEON(R) GOLD 6548N Time per operation 0.86 ns 0.86 ns +0.00% (+0.00% to +0.23%)
f64-square default arm64 Neoverse-V2 Time per operation 0.55 ns 0.55 ns +0.18% (-0.72% to +1.10%)
f64-square default x86-64 INTEL(R) XEON(R) GOLD 6548N Time per operation 1.07 ns 1.07 ns -0.09% (-0.65% to +0.47%)
transpose-64bytes default arm64 Neoverse-V2 Time per operation 12.00 ns 12.00 ns -0.02% (-0.04% to +0.02%)
transpose-64bytes default x86-64 INTEL(R) XEON(R) GOLD 6548N Time per operation 0.84 ns 0.84 ns -0.47% (-2.33% to +0.60%)
transpose-64x64 default arm64 Neoverse-V2 Time per operation 96.41 ns 96.39 ns -0.02% (-0.06% to +0.12%)
transpose-64x64 default x86-64 INTEL(R) XEON(R) GOLD 6548N Time per operation 73.24 ns 73.24 ns -0.02% (-1.16% to +1.13%)

Flock

benchmark threads runner CPU measure base this PR change
flock-alu-batch-262144 16 arm64 Neoverse-V2 Proving time 51.33 ms 51.30 ms +0.47% (-1.51% to +1.33%)
flock-alu-batch-262144 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Proving time 30.13 ms 28.77 ms -5.94% (-6.50% to -0.86%)
flock-div-batch-262144 16 arm64 Neoverse-V2 Proving time 366.04 ms 365.92 ms -0.17% (-1.61% to +0.10%)
flock-div-batch-262144 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Proving time 172.51 ms 172.70 ms +0.03% (-0.43% to +5.90%)
flock-hash-batch-262144 16 arm64 Neoverse-V2 Proving time 763.37 ms 763.19 ms -0.02% (-1.11% to +0.87%)
flock-hash-batch-262144 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Proving time 361.55 ms 362.53 ms +0.56% (-2.52% to +0.76%)
flock-ld-batch-262144 16 arm64 Neoverse-V2 Proving time 15.76 ms 15.68 ms -0.78% (-1.44% to +0.88%)
flock-ld-batch-262144 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Proving time 10.12 ms 9.74 ms -3.75% (-15.76% to -1.93%)
flock-load-batch-262144 16 arm64 Neoverse-V2 Proving time 50.31 ms 50.10 ms -0.43% (-9.51% to +1.60%)
flock-load-batch-262144 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Proving time 29.66 ms 27.78 ms -3.87% (-8.21% to +1.30%)
flock-mul-batch-262144 16 arm64 Neoverse-V2 Proving time 187.33 ms 187.37 ms +0.13% (-1.42% to +0.87%)
flock-mul-batch-262144 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Proving time 96.61 ms 93.79 ms -4.29% (-6.68% to -0.61%)
flock-mulh-batch-262144 16 arm64 Neoverse-V2 Proving time 358.49 ms 358.93 ms -0.16% (-1.86% to +0.52%)
flock-mulh-batch-262144 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Proving time 170.92 ms 178.49 ms +1.76% (-2.63% to +21.48%)
flock-sd-batch-262144 16 arm64 Neoverse-V2 Proving time 16.25 ms 16.29 ms +0.58% (-2.95% to +1.97%)
flock-sd-batch-262144 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Proving time 10.11 ms 9.82 ms -4.77% (-17.28% to +2.90%)
flock-shift-batch-262144 16 arm64 Neoverse-V2 Proving time 50.05 ms 50.01 ms -0.28% (-0.31% to +1.61%)
flock-shift-batch-262144 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Proving time 27.76 ms 27.33 ms -1.31% (-7.53% to +0.79%)
flock-store-batch-262144 16 arm64 Neoverse-V2 Proving time 49.73 ms 49.64 ms -0.05% (-1.30% to +0.63%)
flock-store-batch-262144 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Proving time 29.03 ms 27.28 ms -3.54% (-17.13% to -0.66%)

PCS

benchmark threads runner CPU measure base this PR change
pcs-commit-22 16 arm64 Neoverse-V2 Proving time 7.34 ms 7.31 ms -0.40% (-12.23% to +7.11%)
pcs-commit-22 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Proving time 5.22 ms 5.23 ms +7.94% (-2.04% to +13.65%)
pcs-open-22 16 arm64 Neoverse-V2 Proving time 21.05 ms 20.99 ms +0.12% (-1.60% to +0.89%)
pcs-open-22 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Proving time 14.35 ms 14.74 ms +2.96% (-4.36% to +6.99%)
ntt-forward-22 16 arm64 Neoverse-V2 Time per operation 3.64 ms 3.66 ms +0.76% (-1.46% to +7.15%)
ntt-forward-22 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Time per operation 2.89 ms 2.96 ms +6.14% (-2.38% to +14.09%)

leanSPHINCS

benchmark threads runner CPU measure base this PR change
leansphincs-26 16 arm64 Neoverse-V2 Proving time 183.09 ms 181.59 ms -1.05% (-2.60% to +0.90%)
leansphincs-26 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Proving time 132.27 ms 137.60 ms +1.27% (-4.29% to +10.34%)
leansphincs-26 16 arm64 Neoverse-V2 Verifying time 3.38 ms 3.47 ms +2.33% (-1.57% to +14.21%)
leansphincs-26 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Verifying time 3.26 ms 3.24 ms -0.19% (-1.32% to +0.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 1739.19 MiB 1743.88 MiB +0.37% (-0.02% to +0.61%)
leansphincs-26 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Peak memory 820.61 MiB 820.08 MiB -0.06% (-0.27% to +0.55%)
leansphincs-26 16 arm64 Neoverse-V2 Peak heap 1395.66 MiB 1395.68 MiB +0.00% (-0.00% to +0.01%)
leansphincs-26 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Peak heap 649.94 MiB 649.94 MiB -0.01% (-0.03% to +0.01%)
leansphincs-26 16 arm64 Neoverse-V2 Allocations 25,162 27,718 +10.16% (+10.13% to +10.16%)
leansphincs-26 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Allocations 25,861 28,416 +9.88% (+9.87% to +9.88%)
Prover stages
benchmark threads runner CPU base this PR change
leansphincs-26 16 arm64 Neoverse-V2 183.09 ms 181.59 ms -1.05% (-2.60% to +0.90%)
 ↳ build-witness 6.15 ms 5.69 ms -8.13% (-13.32% to -5.95%)
 ↳ commit 24.32 ms 24.04 ms -1.52% (-2.71% to +1.84%)
 ↳ execute-program 13.13 ms 11.76 ms -10.99% (-20.08% to -4.79%)
 ↳ flock-reductions 62.42 ms 62.18 ms -0.51% (-0.72% to +0.20%)
 ↳ pcs-open 57.31 ms 57.07 ms +0.84% (-1.63% to +6.72%)
 ↳ prove-bus 15.36 ms 15.31 ms -0.70% (-0.96% to +1.47%)
 ↳ prove-constraints 4.26 ms 4.24 ms -0.44% (-2.25% to +0.64%)
leansphincs-26 16 x86-64 INTEL(R) XEON(R) GOLD 6548N 132.27 ms 137.60 ms +1.27% (-4.29% to +10.34%)
 ↳ build-witness 9.41 ms 9.42 ms +0.76% (-4.42% to +13.36%)
 ↳ commit 14.22 ms 14.74 ms +0.99% (-4.02% to +10.04%)
 ↳ execute-program 13.77 ms 13.66 ms -2.40% (-3.83% to +1.97%)
 ↳ flock-reductions 37.61 ms 41.39 ms -0.39% (-9.23% to +16.61%)
 ↳ pcs-open 40.10 ms 41.00 ms +2.24% (-4.56% to +10.62%)
 ↳ prove-bus 11.53 ms 11.82 ms +3.58% (-6.60% to +10.70%)
 ↳ prove-constraints 5.26 ms 5.39 ms +2.37% (-3.76% to +7.41%)

leanXMSS

benchmark threads runner CPU measure base this PR change
aggregate-leanxmss-100-2to1-first 1 arm64 Neoverse-V2 Proving time 939.17 ms 937.76 ms -0.15% (-0.60% to -0.05%)
aggregate-leanxmss-100-2to1-first 4 arm64 Neoverse-V2 Proving time 264.21 ms 263.68 ms -0.39% (-10.39% to +0.09%)
aggregate-leanxmss-100-2to1-first 8 arm64 Neoverse-V2 Proving time 154.85 ms 155.28 ms +0.29% (-0.25% to +0.48%)
aggregate-leanxmss-100-2to1-first 16 arm64 Neoverse-V2 Proving time 101.60 ms 102.01 ms +0.22% (-1.77% to +0.79%)
aggregate-leanxmss-100-2to1-first 1 x86-64 INTEL(R) XEON(R) GOLD 6548N Proving time 514.51 ms 514.69 ms +0.03% (-2.46% to +3.75%)
aggregate-leanxmss-100-2to1-first 4 x86-64 INTEL(R) XEON(R) GOLD 6548N Proving time 163.83 ms 164.12 ms +1.02% (-4.29% to +3.69%)
aggregate-leanxmss-100-2to1-first 8 x86-64 INTEL(R) XEON(R) GOLD 6548N Proving time 118.22 ms 118.87 ms -0.71% (-1.26% to +7.23%)
aggregate-leanxmss-100-2to1-first 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Proving time 91.07 ms 92.05 ms +0.74% (-2.91% to +7.00%)
aggregate-leanxmss-100-2to1-node 1 arm64 Neoverse-V2 Proving time 984.31 ms 987.42 ms +0.09% (-0.33% to +0.54%)
aggregate-leanxmss-100-2to1-node 4 arm64 Neoverse-V2 Proving time 277.03 ms 276.74 ms -0.24% (-11.04% to +0.96%)
aggregate-leanxmss-100-2to1-node 8 arm64 Neoverse-V2 Proving time 162.76 ms 162.69 ms -0.16% (-0.35% to +0.42%)
aggregate-leanxmss-100-2to1-node 16 arm64 Neoverse-V2 Proving time 105.80 ms 105.82 ms -0.34% (-1.31% to +1.68%)
aggregate-leanxmss-100-2to1-node 1 x86-64 INTEL(R) XEON(R) GOLD 6548N Proving time 544.10 ms 549.85 ms +0.37% (-0.92% to +3.10%)
aggregate-leanxmss-100-2to1-node 4 x86-64 INTEL(R) XEON(R) GOLD 6548N Proving time 172.11 ms 176.39 ms +1.68% (-0.60% to +5.32%)
aggregate-leanxmss-100-2to1-node 8 x86-64 INTEL(R) XEON(R) GOLD 6548N Proving time 122.40 ms 121.76 ms -0.74% (-5.37% to +2.65%)
aggregate-leanxmss-100-2to1-node 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Proving time 93.29 ms 94.98 ms +2.10% (-0.79% to +3.79%)
aggregate-leanxmss-100-4to1-first 1 arm64 Neoverse-V2 Proving time 1.90 s 1.91 s -0.07% (-0.12% to +2.20%)
aggregate-leanxmss-100-4to1-first 4 arm64 Neoverse-V2 Proving time 521.74 ms 521.79 ms +0.01% (-0.45% to +0.50%)
aggregate-leanxmss-100-4to1-first 8 arm64 Neoverse-V2 Proving time 305.86 ms 304.84 ms +0.00% (-0.59% to +0.88%)
aggregate-leanxmss-100-4to1-first 16 arm64 Neoverse-V2 Proving time 191.92 ms 191.05 ms -0.15% (-1.07% to +0.01%)
aggregate-leanxmss-100-4to1-first 1 x86-64 INTEL(R) XEON(R) GOLD 6548N Proving time 1.16 s 1.15 s -0.37% (-1.12% to +0.53%)
aggregate-leanxmss-100-4to1-first 4 x86-64 INTEL(R) XEON(R) GOLD 6548N Proving time 350.95 ms 349.32 ms -0.63% (-0.94% to +0.47%)
aggregate-leanxmss-100-4to1-first 8 x86-64 INTEL(R) XEON(R) GOLD 6548N Proving time 217.25 ms 216.54 ms -0.16% (-0.67% to +0.37%)
aggregate-leanxmss-100-4to1-first 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Proving time 156.65 ms 153.71 ms -2.55% (-4.61% to -0.17%)
aggregate-leanxmss-100-4to1-node 1 arm64 Neoverse-V2 Proving time 2.05 s 2.05 s -0.01% (-2.68% to +2.06%)
aggregate-leanxmss-100-4to1-node 4 arm64 Neoverse-V2 Proving time 563.14 ms 563.23 ms -0.05% (-0.20% to +0.31%)
aggregate-leanxmss-100-4to1-node 8 arm64 Neoverse-V2 Proving time 327.87 ms 327.45 ms +0.08% (-1.55% to +0.75%)
aggregate-leanxmss-100-4to1-node 16 arm64 Neoverse-V2 Proving time 206.86 ms 207.23 ms +0.34% (-2.01% to +3.02%)
aggregate-leanxmss-100-4to1-node 1 x86-64 INTEL(R) XEON(R) GOLD 6548N Proving time 1.27 s 1.26 s -0.36% (-2.21% to +0.17%)
aggregate-leanxmss-100-4to1-node 4 x86-64 INTEL(R) XEON(R) GOLD 6548N Proving time 380.61 ms 381.57 ms -0.16% (-0.43% to +0.56%)
aggregate-leanxmss-100-4to1-node 8 x86-64 INTEL(R) XEON(R) GOLD 6548N Proving time 234.51 ms 234.24 ms -0.63% (-0.88% to +2.37%)
aggregate-leanxmss-100-4to1-node 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Proving time 162.75 ms 163.60 ms -2.28% (-5.39% to +10.10%)
leanxmss-100 1 arm64 Neoverse-V2 Proving time 1.79 s 1.79 s -0.08% (-0.10% to +0.33%)
leanxmss-100 4 arm64 Neoverse-V2 Proving time 480.26 ms 479.50 ms -0.01% (-0.44% to +0.17%)
leanxmss-100 8 arm64 Neoverse-V2 Proving time 265.66 ms 264.32 ms -0.38% (-0.64% to -0.06%)
leanxmss-100 16 arm64 Neoverse-V2 Proving time 163.46 ms 162.45 ms +0.07% (-4.31% to +0.26%)
leanxmss-100 1 x86-64 INTEL(R) XEON(R) GOLD 6548N Proving time 1.06 s 1.06 s +0.58% (-1.77% to +0.92%)
leanxmss-100 4 x86-64 INTEL(R) XEON(R) GOLD 6548N Proving time 286.69 ms 280.89 ms -2.05% (-10.85% to +1.04%)
leanxmss-100 8 x86-64 INTEL(R) XEON(R) GOLD 6548N Proving time 178.98 ms 179.23 ms +0.62% (-8.35% to +1.06%)
leanxmss-100 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Proving time 130.01 ms 126.20 ms +1.00% (-17.11% to +4.27%)
aggregate-leanxmss-100-2to1-first 1 arm64 Neoverse-V2 Verifying time 4.01 ms 4.01 ms +0.31% (-3.01% to +0.97%)
aggregate-leanxmss-100-2to1-first 4 arm64 Neoverse-V2 Verifying time 2.81 ms 2.80 ms -0.81% (-14.85% to +0.41%)
aggregate-leanxmss-100-2to1-first 8 arm64 Neoverse-V2 Verifying time 2.71 ms 2.73 ms +0.63% (-0.70% to +0.68%)
aggregate-leanxmss-100-2to1-first 16 arm64 Neoverse-V2 Verifying time 2.73 ms 2.77 ms +1.19% (+0.55% to +3.08%)
aggregate-leanxmss-100-2to1-first 1 x86-64 INTEL(R) XEON(R) GOLD 6548N Verifying time 3.32 ms 3.33 ms +2.76% (-0.93% to +4.71%)
aggregate-leanxmss-100-2to1-first 4 x86-64 INTEL(R) XEON(R) GOLD 6548N Verifying time 2.67 ms 2.64 ms -0.83% (-7.97% to +16.21%)
aggregate-leanxmss-100-2to1-first 8 x86-64 INTEL(R) XEON(R) GOLD 6548N Verifying time 2.93 ms 2.93 ms +1.02% (-3.71% to +1.35%)
aggregate-leanxmss-100-2to1-first 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Verifying time 3.10 ms 3.04 ms -1.34% (-8.39% to -1.02%)
aggregate-leanxmss-100-2to1-node 1 arm64 Neoverse-V2 Verifying time 6.66 ms 6.75 ms +1.50% (-2.10% to +3.13%)
aggregate-leanxmss-100-2to1-node 4 arm64 Neoverse-V2 Verifying time 3.55 ms 3.55 ms +0.36% (-3.75% to +1.03%)
aggregate-leanxmss-100-2to1-node 8 arm64 Neoverse-V2 Verifying time 3.15 ms 3.15 ms +0.18% (-0.99% to +0.75%)
aggregate-leanxmss-100-2to1-node 16 arm64 Neoverse-V2 Verifying time 3.04 ms 3.06 ms +0.61% (-1.35% to +1.40%)
aggregate-leanxmss-100-2to1-node 1 x86-64 INTEL(R) XEON(R) GOLD 6548N Verifying time 6.11 ms 6.34 ms +1.59% (-4.32% to +7.52%)
aggregate-leanxmss-100-2to1-node 4 x86-64 INTEL(R) XEON(R) GOLD 6548N Verifying time 3.42 ms 3.42 ms -0.53% (-6.17% to +4.35%)
aggregate-leanxmss-100-2to1-node 8 x86-64 INTEL(R) XEON(R) GOLD 6548N Verifying time 3.43 ms 3.37 ms -1.89% (-3.39% to +0.73%)
aggregate-leanxmss-100-2to1-node 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Verifying time 3.20 ms 3.21 ms +0.50% (-1.73% to +4.39%)
aggregate-leanxmss-100-4to1-first 1 arm64 Neoverse-V2 Verifying time 4.84 ms 4.86 ms +0.31% (-0.49% to +11.49%)
aggregate-leanxmss-100-4to1-first 4 arm64 Neoverse-V2 Verifying time 3.18 ms 3.20 ms -0.26% (-6.10% to +2.83%)
aggregate-leanxmss-100-4to1-first 8 arm64 Neoverse-V2 Verifying time 3.03 ms 3.06 ms +0.39% (-1.48% to +1.84%)
aggregate-leanxmss-100-4to1-first 16 arm64 Neoverse-V2 Verifying time 2.97 ms 2.97 ms +0.43% (-0.99% to +0.98%)
aggregate-leanxmss-100-4to1-first 1 x86-64 INTEL(R) XEON(R) GOLD 6548N Verifying time 4.37 ms 4.26 ms -3.04% (-13.91% to +2.61%)
aggregate-leanxmss-100-4to1-first 4 x86-64 INTEL(R) XEON(R) GOLD 6548N Verifying time 3.21 ms 3.12 ms -1.70% (-4.62% to -0.32%)
aggregate-leanxmss-100-4to1-first 8 x86-64 INTEL(R) XEON(R) GOLD 6548N Verifying time 2.99 ms 2.95 ms -1.62% (-4.33% to +1.82%)
aggregate-leanxmss-100-4to1-first 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Verifying time 2.96 ms 2.96 ms -1.12% (-2.09% to +6.11%)
aggregate-leanxmss-100-4to1-node 1 arm64 Neoverse-V2 Verifying time 10.04 ms 10.35 ms +3.99% (-3.49% to +4.67%)
aggregate-leanxmss-100-4to1-node 4 arm64 Neoverse-V2 Verifying time 4.66 ms 4.62 ms -1.93% (-2.21% to +0.32%)
aggregate-leanxmss-100-4to1-node 8 arm64 Neoverse-V2 Verifying time 3.85 ms 3.86 ms -0.54% (-9.31% to +3.35%)
aggregate-leanxmss-100-4to1-node 16 arm64 Neoverse-V2 Verifying time 3.46 ms 3.47 ms +0.22% (-0.51% to +0.72%)
aggregate-leanxmss-100-4to1-node 1 x86-64 INTEL(R) XEON(R) GOLD 6548N Verifying time 10.98 ms 10.94 ms -0.32% (-1.09% to +2.82%)
aggregate-leanxmss-100-4to1-node 4 x86-64 INTEL(R) XEON(R) GOLD 6548N Verifying time 5.14 ms 5.20 ms +1.11% (-1.10% to +2.61%)
aggregate-leanxmss-100-4to1-node 8 x86-64 INTEL(R) XEON(R) GOLD 6548N Verifying time 4.01 ms 3.98 ms -0.78% (-1.85% to +2.73%)
aggregate-leanxmss-100-4to1-node 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Verifying time 3.46 ms 3.48 ms +0.17% (-2.52% to +2.07%)
leanxmss-100 1 arm64 Neoverse-V2 Verifying time 3.21 ms 3.19 ms -0.44% (-0.76% to +0.19%)
leanxmss-100 4 arm64 Neoverse-V2 Verifying time 3.13 ms 3.12 ms -0.42% (-0.47% to +0.10%)
leanxmss-100 8 arm64 Neoverse-V2 Verifying time 3.06 ms 3.04 ms -0.48% (-1.16% to +0.03%)
leanxmss-100 16 arm64 Neoverse-V2 Verifying time 3.24 ms 3.23 ms -0.17% (-1.47% to +0.20%)
leanxmss-100 1 x86-64 INTEL(R) XEON(R) GOLD 6548N Verifying time 3.16 ms 3.12 ms -1.65% (-9.03% to +1.85%)
leanxmss-100 4 x86-64 INTEL(R) XEON(R) GOLD 6548N Verifying time 2.79 ms 2.73 ms -2.98% (-7.38% to +3.31%)
leanxmss-100 8 x86-64 INTEL(R) XEON(R) GOLD 6548N Verifying time 3.09 ms 3.09 ms -0.17% (-1.33% to +2.35%)
leanxmss-100 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Verifying time 3.24 ms 3.23 ms -1.48% (-1.59% to +0.61%)
aggregate-leanxmss-100-2to1-first 1 arm64 Neoverse-V2 Proof size 257,499 B 257,499 B 0 B (+0.00%)
aggregate-leanxmss-100-2to1-first 4 arm64 Neoverse-V2 Proof size 257,499 B 257,499 B 0 B (+0.00%)
aggregate-leanxmss-100-2to1-first 8 arm64 Neoverse-V2 Proof size 257,499 B 257,499 B 0 B (+0.00%)
aggregate-leanxmss-100-2to1-first 16 arm64 Neoverse-V2 Proof size 257,499 B 257,499 B 0 B (+0.00%)
aggregate-leanxmss-100-2to1-first 1 x86-64 INTEL(R) XEON(R) GOLD 6548N Proof size 257,499 B 257,499 B 0 B (+0.00%)
aggregate-leanxmss-100-2to1-first 4 x86-64 INTEL(R) XEON(R) GOLD 6548N Proof size 257,499 B 257,499 B 0 B (+0.00%)
aggregate-leanxmss-100-2to1-first 8 x86-64 INTEL(R) XEON(R) GOLD 6548N Proof size 257,499 B 257,499 B 0 B (+0.00%)
aggregate-leanxmss-100-2to1-first 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Proof size 257,499 B 257,499 B 0 B (+0.00%)
aggregate-leanxmss-100-2to1-node 1 arm64 Neoverse-V2 Proof size 255,963 B 255,963 B 0 B (+0.00%)
aggregate-leanxmss-100-2to1-node 4 arm64 Neoverse-V2 Proof size 255,963 B 255,963 B 0 B (+0.00%)
aggregate-leanxmss-100-2to1-node 8 arm64 Neoverse-V2 Proof size 255,963 B 255,963 B 0 B (+0.00%)
aggregate-leanxmss-100-2to1-node 16 arm64 Neoverse-V2 Proof size 255,963 B 255,963 B 0 B (+0.00%)
aggregate-leanxmss-100-2to1-node 1 x86-64 INTEL(R) XEON(R) GOLD 6548N Proof size 255,963 B 255,963 B 0 B (+0.00%)
aggregate-leanxmss-100-2to1-node 4 x86-64 INTEL(R) XEON(R) GOLD 6548N Proof size 255,963 B 255,963 B 0 B (+0.00%)
aggregate-leanxmss-100-2to1-node 8 x86-64 INTEL(R) XEON(R) GOLD 6548N Proof size 255,963 B 255,963 B 0 B (+0.00%)
aggregate-leanxmss-100-2to1-node 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Proof size 255,963 B 255,963 B 0 B (+0.00%)
aggregate-leanxmss-100-4to1-first 1 arm64 Neoverse-V2 Proof size 280,223 B 280,223 B 0 B (+0.00%)
aggregate-leanxmss-100-4to1-first 4 arm64 Neoverse-V2 Proof size 280,223 B 280,223 B 0 B (+0.00%)
aggregate-leanxmss-100-4to1-first 8 arm64 Neoverse-V2 Proof size 280,223 B 280,223 B 0 B (+0.00%)
aggregate-leanxmss-100-4to1-first 16 arm64 Neoverse-V2 Proof size 280,223 B 280,223 B 0 B (+0.00%)
aggregate-leanxmss-100-4to1-first 1 x86-64 INTEL(R) XEON(R) GOLD 6548N Proof size 280,223 B 280,223 B 0 B (+0.00%)
aggregate-leanxmss-100-4to1-first 4 x86-64 INTEL(R) XEON(R) GOLD 6548N Proof size 280,223 B 280,223 B 0 B (+0.00%)
aggregate-leanxmss-100-4to1-first 8 x86-64 INTEL(R) XEON(R) GOLD 6548N Proof size 280,223 B 280,223 B 0 B (+0.00%)
aggregate-leanxmss-100-4to1-first 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Proof size 280,223 B 280,223 B 0 B (+0.00%)
aggregate-leanxmss-100-4to1-node 1 arm64 Neoverse-V2 Proof size 281,247 B 281,247 B 0 B (+0.00%)
aggregate-leanxmss-100-4to1-node 4 arm64 Neoverse-V2 Proof size 281,247 B 281,247 B 0 B (+0.00%)
aggregate-leanxmss-100-4to1-node 8 arm64 Neoverse-V2 Proof size 281,247 B 281,247 B 0 B (+0.00%)
aggregate-leanxmss-100-4to1-node 16 arm64 Neoverse-V2 Proof size 281,247 B 281,247 B 0 B (+0.00%)
aggregate-leanxmss-100-4to1-node 1 x86-64 INTEL(R) XEON(R) GOLD 6548N Proof size 281,247 B 281,247 B 0 B (+0.00%)
aggregate-leanxmss-100-4to1-node 4 x86-64 INTEL(R) XEON(R) GOLD 6548N Proof size 281,247 B 281,247 B 0 B (+0.00%)
aggregate-leanxmss-100-4to1-node 8 x86-64 INTEL(R) XEON(R) GOLD 6548N Proof size 281,247 B 281,247 B 0 B (+0.00%)
aggregate-leanxmss-100-4to1-node 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Proof size 281,247 B 281,247 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 1570.31 MiB 1570.33 MiB +0.00% (-0.00% to +0.13%)
aggregate-leanxmss-100-2to1-first 4 arm64 Neoverse-V2 Peak memory 1592.44 MiB 1593.90 MiB +0.08% (-0.20% to +0.15%)
aggregate-leanxmss-100-2to1-first 8 arm64 Neoverse-V2 Peak memory 1629.02 MiB 1626.77 MiB -0.09% (-0.25% to +0.06%)
aggregate-leanxmss-100-2to1-first 16 arm64 Neoverse-V2 Peak memory 1713.33 MiB 1707.80 MiB -0.30% (-0.90% to +0.02%)
aggregate-leanxmss-100-2to1-first 1 x86-64 INTEL(R) XEON(R) GOLD 6548N Peak memory 834.59 MiB 834.59 MiB -0.00% (-0.24% to +0.24%)
aggregate-leanxmss-100-2to1-first 4 x86-64 INTEL(R) XEON(R) GOLD 6548N Peak memory 867.04 MiB 864.26 MiB -0.32% (-0.44% to -0.01%)
aggregate-leanxmss-100-2to1-first 8 x86-64 INTEL(R) XEON(R) GOLD 6548N Peak memory 893.85 MiB 893.96 MiB -0.04% (-0.55% to +0.20%)
aggregate-leanxmss-100-2to1-first 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Peak memory 934.59 MiB 927.94 MiB +0.06% (-0.87% to +0.25%)
aggregate-leanxmss-100-2to1-node 1 arm64 Neoverse-V2 Peak memory 1570.56 MiB 1570.69 MiB +0.01% (-0.00% to +0.14%)
aggregate-leanxmss-100-2to1-node 4 arm64 Neoverse-V2 Peak memory 1592.87 MiB 1594.54 MiB +0.10% (-0.15% to +0.13%)
aggregate-leanxmss-100-2to1-node 8 arm64 Neoverse-V2 Peak memory 1631.45 MiB 1630.15 MiB -0.10% (-0.17% to +0.04%)
aggregate-leanxmss-100-2to1-node 16 arm64 Neoverse-V2 Peak memory 1725.88 MiB 1728.36 MiB +0.17% (+0.12% to +0.53%)
aggregate-leanxmss-100-2to1-node 1 x86-64 INTEL(R) XEON(R) GOLD 6548N Peak memory 834.59 MiB 834.59 MiB -0.00% (-0.24% to +0.24%)
aggregate-leanxmss-100-2to1-node 4 x86-64 INTEL(R) XEON(R) GOLD 6548N Peak memory 871.05 MiB 873.04 MiB +0.27% (-0.78% to +0.42%)
aggregate-leanxmss-100-2to1-node 8 x86-64 INTEL(R) XEON(R) GOLD 6548N Peak memory 910.30 MiB 909.07 MiB -0.02% (-1.00% to +0.03%)
aggregate-leanxmss-100-2to1-node 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Peak memory 967.92 MiB 966.64 MiB +0.13% (-0.64% to +1.02%)
aggregate-leanxmss-100-4to1-first 1 arm64 Neoverse-V2 Peak memory 1958.66 MiB 1956.99 MiB -0.09% (-0.31% to +0.00%)
aggregate-leanxmss-100-4to1-first 4 arm64 Neoverse-V2 Peak memory 1981.47 MiB 1982.07 MiB +0.04% (-0.11% to +0.11%)
aggregate-leanxmss-100-4to1-first 8 arm64 Neoverse-V2 Peak memory 2019.51 MiB 2019.80 MiB -0.00% (-0.29% to +0.08%)
aggregate-leanxmss-100-4to1-first 16 arm64 Neoverse-V2 Peak memory 2109.75 MiB 2111.98 MiB +0.02% (-0.02% to +0.39%)
aggregate-leanxmss-100-4to1-first 1 x86-64 INTEL(R) XEON(R) GOLD 6548N Peak memory 1020.59 MiB 1020.59 MiB +0.00% (-0.20% to +0.20%)
aggregate-leanxmss-100-4to1-first 4 x86-64 INTEL(R) XEON(R) GOLD 6548N Peak memory 1057.33 MiB 1057.15 MiB -0.04% (-0.51% to +0.55%)
aggregate-leanxmss-100-4to1-first 8 x86-64 INTEL(R) XEON(R) GOLD 6548N Peak memory 1082.55 MiB 1084.32 MiB +0.24% (-0.43% to +0.31%)
aggregate-leanxmss-100-4to1-first 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Peak memory 1137.04 MiB 1133.42 MiB -0.63% (-0.98% to +0.49%)
aggregate-leanxmss-100-4to1-node 1 arm64 Neoverse-V2 Peak memory 1963.26 MiB 1961.21 MiB -0.08% (-0.18% to +0.12%)
aggregate-leanxmss-100-4to1-node 4 arm64 Neoverse-V2 Peak memory 1982.32 MiB 1982.82 MiB +0.04% (-0.11% to +0.10%)
aggregate-leanxmss-100-4to1-node 8 arm64 Neoverse-V2 Peak memory 2025.44 MiB 2024.84 MiB +0.06% (-0.46% to +0.28%)
aggregate-leanxmss-100-4to1-node 16 arm64 Neoverse-V2 Peak memory 2120.21 MiB 2121.43 MiB -0.06% (-0.21% to +0.27%)
aggregate-leanxmss-100-4to1-node 1 x86-64 INTEL(R) XEON(R) GOLD 6548N Peak memory 1046.59 MiB 1046.59 MiB -0.00% (-0.19% to +0.19%)
aggregate-leanxmss-100-4to1-node 4 x86-64 INTEL(R) XEON(R) GOLD 6548N Peak memory 1071.36 MiB 1070.59 MiB -0.07% (-0.38% to +0.46%)
aggregate-leanxmss-100-4to1-node 8 x86-64 INTEL(R) XEON(R) GOLD 6548N Peak memory 1103.82 MiB 1103.27 MiB +0.04% (-0.37% to +0.29%)
aggregate-leanxmss-100-4to1-node 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Peak memory 1168.22 MiB 1169.74 MiB +0.17% (-1.02% to +0.51%)
leanxmss-100 1 arm64 Neoverse-V2 Peak memory 1394.43 MiB 1392.50 MiB -0.14% (-0.16% to +0.00%)
leanxmss-100 4 arm64 Neoverse-V2 Peak memory 1420.07 MiB 1416.10 MiB -0.07% (-0.41% to +0.13%)
leanxmss-100 8 arm64 Neoverse-V2 Peak memory 1454.45 MiB 1455.68 MiB -0.03% (-0.22% to +0.37%)
leanxmss-100 16 arm64 Neoverse-V2 Peak memory 1523.52 MiB 1521.00 MiB -0.17% (-0.38% to +0.47%)
leanxmss-100 1 x86-64 INTEL(R) XEON(R) GOLD 6548N Peak memory 648.35 MiB 644.58 MiB -0.31% (-0.62% to -0.27%)
leanxmss-100 4 x86-64 INTEL(R) XEON(R) GOLD 6548N Peak memory 665.22 MiB 667.43 MiB +0.31% (+0.11% to +0.79%)
leanxmss-100 8 x86-64 INTEL(R) XEON(R) GOLD 6548N Peak memory 688.19 MiB 687.59 MiB -0.07% (-0.37% to +0.32%)
leanxmss-100 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Peak memory 711.78 MiB 711.49 MiB +0.18% (-0.50% to +0.91%)
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.01% to +0.01%)
aggregate-leanxmss-100-2to1-first 8 arm64 Neoverse-V2 Peak heap 600.51 MiB 600.52 MiB -0.00% (-0.00% to +0.01%)
aggregate-leanxmss-100-2to1-first 16 arm64 Neoverse-V2 Peak heap 600.53 MiB 600.47 MiB -0.01% (-0.02% to +0.01%)
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.94 MiB 318.94 MiB +0.00% (-0.01% to +0.02%)
aggregate-leanxmss-100-2to1-first 8 x86-64 INTEL(R) XEON(R) GOLD 6548N Peak heap 318.95 MiB 318.96 MiB -0.02% (-0.03% to +0.01%)
aggregate-leanxmss-100-2to1-first 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Peak heap 319.02 MiB 319.06 MiB +0.02% (-0.00% to +0.09%)
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.00% to +0.00%)
aggregate-leanxmss-100-2to1-node 8 arm64 Neoverse-V2 Peak heap 600.18 MiB 600.17 MiB -0.00% (-0.00% to -0.00%)
aggregate-leanxmss-100-2to1-node 16 arm64 Neoverse-V2 Peak heap 600.23 MiB 600.19 MiB -0.00% (-0.02% 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.65 MiB 318.64 MiB -0.00% (-0.02% to +0.00%)
aggregate-leanxmss-100-2to1-node 8 x86-64 INTEL(R) XEON(R) GOLD 6548N Peak heap 318.68 MiB 318.66 MiB -0.01% (-0.01% to +0.05%)
aggregate-leanxmss-100-2to1-node 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Peak heap 318.66 MiB 318.68 MiB +0.00% (-0.03% to +0.06%)
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.00 MiB +0.00% (-0.01% to +0.00%)
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.91 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.69 MiB 637.64 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.58 MiB 637.51 MiB -0.01% (-0.03% to +0.01%)
aggregate-leanxmss-100-4to1-first 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Peak heap 637.73 MiB 637.79 MiB +0.01% (-0.01% to +0.05%)
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.55 MiB 1200.57 MiB +0.00% (-0.00% to +0.00%)
aggregate-leanxmss-100-4to1-node 8 arm64 Neoverse-V2 Peak heap 1200.51 MiB 1200.46 MiB -0.00% (-0.01% to +0.00%)
aggregate-leanxmss-100-4to1-node 16 arm64 Neoverse-V2 Peak heap 1200.43 MiB 1200.49 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.20 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.17 MiB 637.10 MiB -0.01% (-0.02% to +0.00%)
aggregate-leanxmss-100-4to1-node 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Peak heap 637.25 MiB 637.14 MiB -0.02% (-0.03% to -0.00%)
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.06 MiB 1202.12 MiB +0.00% (+0.00% to +0.01%)
leanxmss-100 8 arm64 Neoverse-V2 Peak heap 1201.87 MiB 1201.87 MiB -0.00% (-0.01% to +0.02%)
leanxmss-100 16 arm64 Neoverse-V2 Peak heap 1201.70 MiB 1201.71 MiB +0.00% (-0.00% to +0.01%)
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.85 MiB -0.00% (-0.01% to +0.01%)
leanxmss-100 8 x86-64 INTEL(R) XEON(R) GOLD 6548N Peak heap 557.92 MiB 557.93 MiB -0.00% (-0.03% to +0.02%)
leanxmss-100 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Peak heap 558.12 MiB 558.11 MiB -0.00% (-0.03% to +0.00%)
aggregate-leanxmss-100-2to1-first 1 arm64 Neoverse-V2 Allocations 16,733 17,798 +6.36% (+6.36% to +6.36%)
aggregate-leanxmss-100-2to1-first 4 arm64 Neoverse-V2 Allocations 16,859 17,924 +6.32% (+6.32% to +6.32%)
aggregate-leanxmss-100-2to1-first 8 arm64 Neoverse-V2 Allocations 17,003 18,068 +6.26% (+6.26% to +6.26%)
aggregate-leanxmss-100-2to1-first 16 arm64 Neoverse-V2 Allocations 17,291 18,356 +6.16% (+6.16% to +6.16%)
aggregate-leanxmss-100-2to1-first 1 x86-64 INTEL(R) XEON(R) GOLD 6548N Allocations 16,835 17,900 +6.33% (+6.33% to +6.33%)
aggregate-leanxmss-100-2to1-first 4 x86-64 INTEL(R) XEON(R) GOLD 6548N Allocations 16,964 18,029 +6.28% (+6.28% to +6.28%)
aggregate-leanxmss-100-2to1-first 8 x86-64 INTEL(R) XEON(R) GOLD 6548N Allocations 17,112 18,177 +6.22% (+6.22% to +6.22%)
aggregate-leanxmss-100-2to1-first 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Allocations 17,408 18,473 +6.12% (+6.12% to +6.12%)
aggregate-leanxmss-100-2to1-node 1 arm64 Neoverse-V2 Allocations 20,451 21,527 +5.26% (+5.26% to +5.26%)
aggregate-leanxmss-100-2to1-node 4 arm64 Neoverse-V2 Allocations 20,577 21,653 +5.23% (+5.23% to +5.23%)
aggregate-leanxmss-100-2to1-node 8 arm64 Neoverse-V2 Allocations 20,721 21,797 +5.19% (+5.19% to +5.19%)
aggregate-leanxmss-100-2to1-node 16 arm64 Neoverse-V2 Allocations 21,009 22,085 +5.12% (+5.12% to +5.12%)
aggregate-leanxmss-100-2to1-node 1 x86-64 INTEL(R) XEON(R) GOLD 6548N Allocations 20,545 21,621 +5.24% (+5.24% to +5.24%)
aggregate-leanxmss-100-2to1-node 4 x86-64 INTEL(R) XEON(R) GOLD 6548N Allocations 20,674 21,750 +5.20% (+5.18% to +5.20%)
aggregate-leanxmss-100-2to1-node 8 x86-64 INTEL(R) XEON(R) GOLD 6548N Allocations 20,822 21,898 +5.17% (+5.17% to +5.17%)
aggregate-leanxmss-100-2to1-node 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Allocations 21,118 22,194 +5.10% (+5.10% to +5.10%)
aggregate-leanxmss-100-4to1-first 1 arm64 Neoverse-V2 Allocations 28,648 29,742 +3.82% (+3.82% to +3.82%)
aggregate-leanxmss-100-4to1-first 4 arm64 Neoverse-V2 Allocations 28,786 29,880 +3.80% (+3.80% to +3.80%)
aggregate-leanxmss-100-4to1-first 8 arm64 Neoverse-V2 Allocations 28,970 30,064 +3.78% (+3.78% to +3.78%)
aggregate-leanxmss-100-4to1-first 16 arm64 Neoverse-V2 Allocations 29,290 30,384 +3.74% (+3.74% to +3.74%)
aggregate-leanxmss-100-4to1-first 1 x86-64 INTEL(R) XEON(R) GOLD 6548N Allocations 28,794 29,888 +3.80% (+3.80% to +3.80%)
aggregate-leanxmss-100-4to1-first 4 x86-64 INTEL(R) XEON(R) GOLD 6548N Allocations 28,935 30,029 +3.78% (+3.78% to +3.78%)
aggregate-leanxmss-100-4to1-first 8 x86-64 INTEL(R) XEON(R) GOLD 6548N Allocations 29,123 30,217 +3.76% (+3.76% to +3.76%)
aggregate-leanxmss-100-4to1-first 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Allocations 29,451 30,545 +3.71% (+3.71% to +3.73%)
aggregate-leanxmss-100-4to1-node 1 arm64 Neoverse-V2 Allocations 35,456 36,563 +3.12% (+3.12% to +3.12%)
aggregate-leanxmss-100-4to1-node 4 arm64 Neoverse-V2 Allocations 35,594 36,701 +3.11% (+3.11% to +3.11%)
aggregate-leanxmss-100-4to1-node 8 arm64 Neoverse-V2 Allocations 35,778 36,885 +3.09% (+3.09% to +3.09%)
aggregate-leanxmss-100-4to1-node 16 arm64 Neoverse-V2 Allocations 36,098 37,205 +3.07% (+3.07% to +3.08%)
aggregate-leanxmss-100-4to1-node 1 x86-64 INTEL(R) XEON(R) GOLD 6548N Allocations 35,602 36,709 +3.11% (+3.11% to +3.11%)
aggregate-leanxmss-100-4to1-node 4 x86-64 INTEL(R) XEON(R) GOLD 6548N Allocations 35,743 36,850 +3.10% (+3.10% to +3.10%)
aggregate-leanxmss-100-4to1-node 8 x86-64 INTEL(R) XEON(R) GOLD 6548N Allocations 35,931 37,038 +3.08% (+3.08% to +3.08%)
aggregate-leanxmss-100-4to1-node 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Allocations 36,259 37,366 +3.05% (+3.05% to +3.06%)
leanxmss-100 1 arm64 Neoverse-V2 Allocations 24,798 27,350 +10.29% (+10.29% to +10.29%)
leanxmss-100 4 arm64 Neoverse-V2 Allocations 25,016 27,568 +10.20% (+10.20% to +10.20%)
leanxmss-100 8 arm64 Neoverse-V2 Allocations 25,252 27,804 +10.11% (+10.11% to +10.11%)
leanxmss-100 16 arm64 Neoverse-V2 Allocations 25,724 28,276 +9.92% (+9.92% to +9.93%)
leanxmss-100 1 x86-64 INTEL(R) XEON(R) GOLD 6548N Allocations 25,316 27,868 +10.08% (+10.08% to +10.08%)
leanxmss-100 4 x86-64 INTEL(R) XEON(R) GOLD 6548N Allocations 25,571 28,123 +9.98% (+9.98% to +9.98%)
leanxmss-100 8 x86-64 INTEL(R) XEON(R) GOLD 6548N Allocations 25,855 28,407 +9.87% (+9.87% to +9.87%)
leanxmss-100 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Allocations 26,422 28,975 +9.66% (+9.66% to +9.69%)
Prover stages
benchmark threads runner CPU base this PR change
aggregate-leanxmss-100-2to1-first 1 arm64 Neoverse-V2 939.17 ms 937.76 ms -0.15% (-0.60% to -0.05%)
 ↳ build-circuit 12.37 ms 12.34 ms +0.35% (-0.91% to +0.66%)
 ↳ prove-recursion 903.72 ms 902.83 ms -0.17% (-0.59% to -0.00%)
 ↳ reduce-claims 15.69 ms 15.37 ms -2.17% (-2.90% to +1.09%)
 ↳ reduce-in-rows 1.45 ms 1.40 ms -3.28% (-4.38% to +1.56%)
 ↳ verify 5.87 ms 5.88 ms +0.39% (-0.71% to +1.54%)
aggregate-leanxmss-100-2to1-first 4 arm64 Neoverse-V2 264.21 ms 263.68 ms -0.39% (-10.39% to +0.09%)
 ↳ build-circuit 10.52 ms 10.48 ms -0.41% (-15.94% to +0.63%)
 ↳ prove-recursion 241.10 ms 240.48 ms -0.35% (-9.95% to +0.06%)
 ↳ reduce-claims 5.35 ms 5.49 ms +2.61% (-8.62% to +4.44%)
 ↳ reduce-in-rows 1.46 ms 1.44 ms -1.62% (-28.19% to +2.86%)
 ↳ verify 5.74 ms 5.69 ms -1.14% (-13.48% to +0.58%)
aggregate-leanxmss-100-2to1-first 8 arm64 Neoverse-V2 154.85 ms 155.28 ms +0.29% (-0.25% to +0.48%)
 ↳ build-circuit 10.26 ms 10.28 ms +0.17% (-1.17% to +0.71%)
 ↳ prove-recursion 133.10 ms 133.29 ms +0.14% (-0.17% to +0.43%)
 ↳ reduce-claims 4.30 ms 4.27 ms +0.32% (-7.69% to +14.48%)
 ↳ reduce-in-rows 1.46 ms 1.46 ms +0.47% (-7.62% to +3.38%)
 ↳ verify 5.91 ms 5.92 ms -0.05% (-0.79% to +0.57%)
aggregate-leanxmss-100-2to1-first 16 arm64 Neoverse-V2 101.60 ms 102.01 ms +0.22% (-1.77% to +0.79%)
 ↳ build-circuit 10.26 ms 10.18 ms -0.50% (-2.97% to +0.52%)
 ↳ prove-recursion 79.76 ms 80.39 ms +0.49% (-2.34% to +1.16%)
 ↳ reduce-claims 3.91 ms 3.75 ms -5.31% (-7.98% to +10.06%)
 ↳ reduce-in-rows 1.38 ms 1.38 ms +0.09% (-3.97% to +5.23%)
 ↳ verify 6.19 ms 6.20 ms -0.38% (-1.42% to +0.65%)
aggregate-leanxmss-100-2to1-first 1 x86-64 INTEL(R) XEON(R) GOLD 6548N 514.51 ms 514.69 ms +0.03% (-2.46% to +3.75%)
 ↳ build-circuit 13.46 ms 13.41 ms +3.03% (-15.46% to +7.42%)
 ↳ prove-recursion 475.61 ms 478.98 ms +0.12% (-2.08% to +3.58%)
 ↳ reduce-claims 17.08 ms 16.62 ms -2.69% (-12.16% to +5.42%)
 ↳ reduce-in-rows 1.63 ms 1.46 ms -5.35% (-22.58% to +1.03%)
 ↳ verify 5.79 ms 5.92 ms +3.18% (-13.14% to +8.11%)
aggregate-leanxmss-100-2to1-first 4 x86-64 INTEL(R) XEON(R) GOLD 6548N 163.83 ms 164.12 ms +1.02% (-4.29% to +3.69%)
 ↳ build-circuit 12.30 ms 13.01 ms +4.48% (+0.89% to +5.83%)
 ↳ prove-recursion 137.12 ms 136.75 ms +0.72% (-5.03% to +3.79%)
 ↳ reduce-claims 6.68 ms 6.36 ms -3.84% (-7.94% to +11.37%)
 ↳ reduce-in-rows 1.66 ms 1.62 ms -3.32% (-5.55% to -0.85%)
 ↳ verify 5.96 ms 5.71 ms -0.13% (-6.47% to +4.93%)
aggregate-leanxmss-100-2to1-first 8 x86-64 INTEL(R) XEON(R) GOLD 6548N 118.22 ms 118.87 ms -0.71% (-1.26% to +7.23%)
 ↳ build-circuit 14.27 ms 14.41 ms +0.10% (-0.44% to +4.29%)
 ↳ prove-recursion 87.74 ms 88.16 ms +0.50% (-0.39% to +7.76%)
 ↳ reduce-claims 6.85 ms 7.26 ms -11.59% (-20.38% to +29.04%)
 ↳ reduce-in-rows 1.98 ms 1.95 ms -1.46% (-5.29% to +0.66%)
 ↳ verify 6.60 ms 6.60 ms -0.47% (-1.78% to +0.52%)
aggregate-leanxmss-100-2to1-first 16 x86-64 INTEL(R) XEON(R) GOLD 6548N 91.07 ms 92.05 ms +0.74% (-2.91% to +7.00%)
 ↳ build-circuit 14.44 ms 14.21 ms -2.79% (-5.80% to +4.44%)
 ↳ prove-recursion 60.21 ms 60.82 ms -0.73% (-2.69% to +10.54%)
 ↳ reduce-claims 6.97 ms 7.06 ms +4.55% (-28.26% to +55.30%)
 ↳ reduce-in-rows 1.90 ms 1.86 ms -5.66% (-8.33% to +0.84%)
 ↳ verify 7.05 ms 6.95 ms -2.09% (-2.78% to +1.09%)
aggregate-leanxmss-100-2to1-node 1 arm64 Neoverse-V2 984.31 ms 987.42 ms +0.09% (-0.33% to +0.54%)
 ↳ build-circuit 12.32 ms 12.34 ms +0.31% (+0.05% to +1.41%)
 ↳ prove-recursion 934.27 ms 936.71 ms +0.14% (-0.35% to +0.53%)
 ↳ reduce-claims 30.76 ms 30.93 ms +0.71% (-1.24% to +1.13%)
 ↳ reduce-in-rows 1.48 ms 1.49 ms -0.24% (-1.88% to +4.74%)
aggregate-leanxmss-100-2to1-node 4 arm64 Neoverse-V2 277.03 ms 276.74 ms -0.24% (-11.04% to +0.96%)
 ↳ build-circuit 11.51 ms 11.28 ms -1.88% (-15.09% to +0.63%)
 ↳ prove-recursion 249.01 ms 248.72 ms -0.14% (-10.31% to +1.05%)
 ↳ reduce-claims 10.50 ms 10.44 ms -0.96% (-16.35% to +0.85%)
 ↳ reduce-in-rows 1.51 ms 1.49 ms -1.91% (-27.68% to +1.84%)
aggregate-leanxmss-100-2to1-node 8 arm64 Neoverse-V2 162.76 ms 162.69 ms -0.16% (-0.35% to +0.42%)
 ↳ build-circuit 11.38 ms 11.27 ms -0.44% (-2.06% to +0.63%)
 ↳ prove-recursion 137.47 ms 137.48 ms -0.00% (-0.17% to +0.38%)
 ↳ reduce-claims 7.89 ms 7.74 ms -1.87% (-4.86% to +4.95%)
 ↳ reduce-in-rows 1.52 ms 1.51 ms -0.26% (-2.44% to +5.46%)
aggregate-leanxmss-100-2to1-node 16 arm64 Neoverse-V2 105.80 ms 105.82 ms -0.34% (-1.31% to +1.68%)
 ↳ build-circuit 11.30 ms 11.26 ms -0.15% (-1.59% to +1.35%)
 ↳ prove-recursion 81.82 ms 81.83 ms +0.30% (-1.53% to +1.42%)
 ↳ reduce-claims 6.57 ms 6.53 ms -1.00% (-3.53% to +4.42%)
 ↳ reduce-in-rows 1.51 ms 1.48 ms -1.14% (-4.92% to -0.00%)
aggregate-leanxmss-100-2to1-node 1 x86-64 INTEL(R) XEON(R) GOLD 6548N 544.10 ms 549.85 ms +0.37% (-0.92% to +3.10%)
 ↳ build-circuit 13.78 ms 13.77 ms +1.97% (-14.86% to +3.62%)
 ↳ prove-recursion 489.34 ms 496.34 ms +0.14% (-0.40% to +3.32%)
 ↳ reduce-claims 30.94 ms 31.01 ms +1.50% (-5.25% to +3.30%)
 ↳ reduce-in-rows 1.72 ms 1.59 ms -6.19% (-9.92% to +5.15%)
aggregate-leanxmss-100-2to1-node 4 x86-64 INTEL(R) XEON(R) GOLD 6548N 172.11 ms 176.39 ms +1.68% (-0.60% to +5.32%)
 ↳ build-circuit 13.48 ms 13.68 ms +0.24% (-9.54% to +10.44%)
 ↳ prove-recursion 141.22 ms 144.07 ms +0.96% (-0.98% to +6.20%)
 ↳ reduce-claims 11.75 ms 11.74 ms +2.76% (-3.36% to +15.97%)
 ↳ reduce-in-rows 1.74 ms 1.66 ms -2.24% (-10.63% to +5.30%)
aggregate-leanxmss-100-2to1-node 8 x86-64 INTEL(R) XEON(R) GOLD 6548N 122.40 ms 121.76 ms -0.74% (-5.37% to +2.65%)
 ↳ build-circuit 15.57 ms 15.24 ms -3.22% (-6.66% to +5.01%)
 ↳ prove-recursion 90.41 ms 90.25 ms -0.41% (-8.77% to +0.46%)
 ↳ reduce-claims 9.05 ms 9.30 ms +2.49% (-17.98% to +21.65%)
 ↳ reduce-in-rows 1.97 ms 1.97 ms +0.62% (-5.97% to +6.72%)
aggregate-leanxmss-100-2to1-node 16 x86-64 INTEL(R) XEON(R) GOLD 6548N 93.29 ms 94.98 ms +2.10% (-0.79% to +3.79%)
 ↳ build-circuit 15.39 ms 15.44 ms +1.00% (-4.58% to +3.94%)
 ↳ prove-recursion 61.57 ms 64.12 ms +1.56% (-1.60% to +7.14%)
 ↳ reduce-claims 8.71 ms 9.10 ms +3.66% (-6.55% to +8.52%)
 ↳ reduce-in-rows 2.01 ms 1.91 ms -4.29% (-14.88% to +0.18%)
aggregate-leanxmss-100-4to1-first 1 arm64 Neoverse-V2 1.90 s 1.91 s -0.07% (-0.12% to +2.20%)
 ↳ build-circuit 25.43 ms 25.49 ms +0.35% (-0.02% to +29.68%)
 ↳ prove-recursion 1.84 s 1.84 s -0.07% (-0.15% to +1.51%)
 ↳ reduce-claims 21.06 ms 21.24 ms +1.91% (-1.07% to +20.21%)
 ↳ reduce-in-rows 2.74 ms 2.79 ms +1.72% (+0.07% to +6.90%)
 ↳ verify 11.52 ms 11.59 ms +0.33% (+0.32% to +16.84%)
aggregate-leanxmss-100-4to1-first 4 arm64 Neoverse-V2 521.74 ms 521.79 ms +0.01% (-0.45% to +0.50%)
 ↳ build-circuit 21.83 ms 21.48 ms -1.29% (-3.89% to +1.15%)
 ↳ prove-recursion 479.29 ms 479.40 ms +0.02% (-0.32% to +0.47%)
 ↳ reduce-claims 6.84 ms 6.77 ms -1.26% (-4.32% to +0.67%)
 ↳ reduce-in-rows 2.79 ms 2.81 ms +0.70% (-1.25% to +2.67%)
 ↳ verify 11.30 ms 11.28 ms +0.01% (-1.71% to +1.06%)
aggregate-leanxmss-100-4to1-first 8 arm64 Neoverse-V2 305.86 ms 304.84 ms +0.00% (-0.59% to +0.88%)
 ↳ build-circuit 22.28 ms 21.61 ms -3.01% (-7.62% to +6.12%)
 ↳ prove-recursion 262.88 ms 264.26 ms +0.24% (+0.09% to +0.52%)
 ↳ reduce-claims 5.22 ms 5.08 ms -2.75% (-9.82% to +2.82%)
 ↳ reduce-in-rows 2.92 ms 2.91 ms +0.15% (-2.14% to +3.54%)
 ↳ verify 11.58 ms 11.60 ms +0.78% (-6.10% to +2.40%)
aggregate-leanxmss-100-4to1-first 16 arm64 Neoverse-V2 191.92 ms 191.05 ms -0.15% (-1.07% to +0.01%)
 ↳ build-circuit 20.83 ms 20.83 ms -0.01% (-0.46% to +0.93%)
 ↳ prove-recursion 151.20 ms 150.70 ms -0.23% (-1.51% to +0.14%)
 ↳ reduce-claims 4.72 ms 4.64 ms -1.48% (-5.24% to +2.73%)
 ↳ reduce-in-rows 2.84 ms 2.85 ms -0.36% (-2.89% to +0.53%)
 ↳ verify 12.15 ms 12.14 ms -0.00% (-0.60% to +0.83%)
aggregate-leanxmss-100-4to1-first 1 x86-64 INTEL(R) XEON(R) GOLD 6548N 1.16 s 1.15 s -0.37% (-1.12% to +0.53%)
 ↳ build-circuit 32.07 ms 31.85 ms -0.87% (-2.07% to -0.26%)
 ↳ prove-recursion 1.08 s 1.07 s -0.33% (-1.14% to +0.58%)
 ↳ reduce-claims 26.56 ms 26.37 ms -1.10% (-1.44% to +1.20%)
 ↳ reduce-in-rows 3.71 ms 3.58 ms -6.77% (-12.44% to -0.89%)
 ↳ verify 12.27 ms 12.23 ms -0.39% (-1.28% to +0.06%)
aggregate-leanxmss-100-4to1-first 4 x86-64 INTEL(R) XEON(R) GOLD 6548N 350.95 ms 349.32 ms -0.63% (-0.94% to +0.47%)
 ↳ build-circuit 31.75 ms 31.78 ms +0.67% (-5.16% to +1.10%)
 ↳ prove-recursion 293.19 ms 293.19 ms +0.02% (-0.43% to +0.23%)
 ↳ reduce-claims 9.16 ms 8.85 ms -4.24% (-11.59% to +11.42%)
 ↳ reduce-in-rows 3.98 ms 3.76 ms -5.75% (-6.87% to -2.81%)
 ↳ verify 12.03 ms 11.94 ms -0.76% (-2.01% to +1.08%)
aggregate-leanxmss-100-4to1-first 8 x86-64 INTEL(R) XEON(R) GOLD 6548N 217.25 ms 216.54 ms -0.16% (-0.67% to +0.37%)
 ↳ build-circuit 31.15 ms 30.59 ms -0.93% (-5.40% to +1.87%)
 ↳ prove-recursion 162.45 ms 162.55 ms +0.48% (-0.78% to +1.02%)
 ↳ reduce-claims 7.26 ms 6.78 ms +2.31% (-18.28% to +21.95%)
 ↳ reduce-in-rows 3.84 ms 3.69 ms -1.72% (-5.77% to +0.07%)
 ↳ verify 12.20 ms 12.12 ms -0.83% (-0.92% to +2.75%)
aggregate-leanxmss-100-4to1-first 16 x86-64 INTEL(R) XEON(R) GOLD 6548N 156.65 ms 153.71 ms -2.55% (-4.61% to -0.17%)
 ↳ build-circuit 28.35 ms 28.74 ms +1.05% (-4.94% to +3.79%)
 ↳ prove-recursion 104.87 ms 101.61 ms -2.67% (-6.55% to +0.58%)
 ↳ reduce-claims 7.19 ms 6.83 ms -5.04% (-10.28% to -0.52%)
 ↳ reduce-in-rows 3.50 ms 3.37 ms -3.82% (-4.81% to -3.70%)
 ↳ verify 12.53 ms 12.30 ms -1.43% (-4.42% to +2.96%)
aggregate-leanxmss-100-4to1-node 1 arm64 Neoverse-V2 2.05 s 2.05 s -0.01% (-2.68% to +2.06%)
 ↳ build-circuit 29.68 ms 29.48 ms -0.71% (-26.15% to +2.30%)
 ↳ prove-recursion 1.95 s 1.95 s -0.03% (-1.47% to +1.99%)
 ↳ reduce-claims 56.03 ms 56.40 ms +0.02% (-16.49% to +2.43%)
 ↳ reduce-in-rows 2.97 ms 2.97 ms +0.12% (-31.20% to +3.56%)
aggregate-leanxmss-100-4to1-node 4 arm64 Neoverse-V2 563.14 ms 563.23 ms -0.05% (-0.20% to +0.31%)
 ↳ build-circuit 25.79 ms 25.67 ms -0.20% (-1.70% to +0.71%)
 ↳ prove-recursion 506.13 ms 506.90 ms -0.02% (-0.11% to +0.29%)
 ↳ reduce-claims 17.19 ms 17.16 ms -0.23% (-1.77% to +0.34%)
 ↳ reduce-in-rows 2.93 ms 2.95 ms +0.38% (-1.29% to +3.12%)
aggregate-leanxmss-100-4to1-node 8 arm64 Neoverse-V2 327.87 ms 327.45 ms +0.08% (-1.55% to +0.75%)
 ↳ build-circuit 25.58 ms 25.75 ms +0.46% (-24.54% to +3.99%)
 ↳ prove-recursion 274.67 ms 276.02 ms -0.02% (-0.47% to +1.31%)
 ↳ reduce-claims 12.04 ms 11.95 ms +0.34% (-3.16% to +1.05%)
 ↳ reduce-in-rows 3.01 ms 2.99 ms -0.44% (-2.08% to +1.07%)
aggregate-leanxmss-100-4to1-node 16 arm64 Neoverse-V2 206.86 ms 207.23 ms +0.34% (-2.01% to +3.02%)
 ↳ build-circuit 24.74 ms 24.82 ms -0.29% (-0.98% to +1.88%)
 ↳ prove-recursion 159.92 ms 159.99 ms +0.52% (-2.47% to +3.29%)
 ↳ reduce-claims 9.45 ms 9.62 ms +1.48% (+0.32% to +4.58%)
 ↳ reduce-in-rows 3.00 ms 2.97 ms -1.26% (-1.63% to +1.56%)
aggregate-leanxmss-100-4to1-node 1 x86-64 INTEL(R) XEON(R) GOLD 6548N 1.27 s 1.26 s -0.36% (-2.21% to +0.17%)
 ↳ build-circuit 39.16 ms 38.47 ms -1.75% (-12.28% to +3.13%)
 ↳ prove-recursion 1.14 s 1.14 s -0.46% (-1.91% to +0.34%)
 ↳ reduce-claims 66.56 ms 69.39 ms +0.32% (-2.89% to +5.66%)
 ↳ reduce-in-rows 3.83 ms 3.61 ms -3.91% (-9.99% to -1.70%)
aggregate-leanxmss-100-4to1-node 4 x86-64 INTEL(R) XEON(R) GOLD 6548N 380.61 ms 381.57 ms -0.16% (-0.43% to +0.56%)
 ↳ build-circuit 37.38 ms 36.96 ms -2.03% (-3.30% to +3.30%)
 ↳ prove-recursion 307.70 ms 307.43 ms -0.09% (-0.19% to +0.17%)
 ↳ reduce-claims 20.60 ms 20.67 ms +0.38% (-1.47% to +6.87%)
 ↳ reduce-in-rows 4.23 ms 4.06 ms -3.75% (-5.12% to -1.53%)
aggregate-leanxmss-100-4to1-node 8 x86-64 INTEL(R) XEON(R) GOLD 6548N 234.51 ms 234.24 ms -0.63% (-0.88% to +2.37%)
 ↳ build-circuit 35.88 ms 35.39 ms -1.44% (-5.43% to +4.57%)
 ↳ prove-recursion 169.33 ms 169.77 ms +0.26% (-0.67% to +1.29%)
 ↳ reduce-claims 13.96 ms 14.69 ms -2.33% (-10.01% to +12.79%)
 ↳ reduce-in-rows 4.18 ms 4.07 ms -1.71% (-3.77% to +0.12%)
aggregate-leanxmss-100-4to1-node 16 x86-64 INTEL(R) XEON(R) GOLD 6548N 162.75 ms 163.60 ms -2.28% (-5.39% to +10.10%)
 ↳ build-circuit 33.25 ms 32.89 ms -0.27% (-3.44% to +3.15%)
 ↳ prove-recursion 106.56 ms 105.54 ms -2.95% (-8.49% to +14.68%)
 ↳ reduce-claims 12.29 ms 12.59 ms -1.68% (-4.54% to +3.86%)
 ↳ reduce-in-rows 3.83 ms 3.77 ms -3.70% (-4.97% to +0.01%)
leanxmss-100 1 arm64 Neoverse-V2 1.79 s 1.79 s -0.08% (-0.10% to +0.33%)
 ↳ build-witness 46.83 ms 46.81 ms +0.36% (-1.29% to +1.19%)
 ↳ commit 296.21 ms 297.65 ms +0.15% (-0.29% to +1.29%)
 ↳ execute-program 10.61 ms 10.68 ms +0.65% (-4.04% to +3.34%)
 ↳ flock-reductions 646.32 ms 645.15 ms -0.00% (-0.64% to +0.29%)
 ↳ pcs-open 645.06 ms 646.52 ms +0.25% (-0.09% to +0.28%)
 ↳ prove-bus 132.37 ms 132.40 ms -0.01% (-0.15% to +0.29%)
 ↳ prove-constraints 15.29 ms 15.35 ms +0.66% (-1.67% to +2.71%)
leanxmss-100 4 arm64 Neoverse-V2 480.26 ms 479.50 ms -0.01% (-0.44% to +0.17%)
 ↳ build-witness 13.09 ms 13.11 ms +0.24% (-0.18% to +0.52%)
 ↳ commit 74.93 ms 74.94 ms -0.07% (-0.84% to +1.05%)
 ↳ execute-program 10.65 ms 10.67 ms +0.17% (-4.33% to +4.38%)
 ↳ flock-reductions 169.58 ms 169.30 ms -0.06% (-0.20% to +0.30%)
 ↳ pcs-open 169.64 ms 169.42 ms -0.07% (-0.68% to +0.13%)
 ↳ prove-bus 35.94 ms 35.84 ms -0.11% (-0.42% to +0.10%)
 ↳ prove-constraints 5.75 ms 5.74 ms -0.08% (-1.17% to +0.40%)
leanxmss-100 8 arm64 Neoverse-V2 265.66 ms 264.32 ms -0.38% (-0.64% to -0.06%)
 ↳ build-witness 7.39 ms 7.38 ms -0.32% (-0.56% to +0.39%)
 ↳ commit 38.58 ms 38.27 ms -0.82% (-1.18% to -0.33%)
 ↳ execute-program 10.33 ms 10.19 ms -0.64% (-3.05% to +0.66%)
 ↳ flock-reductions 93.61 ms 93.48 ms -0.12% (-0.24% to +0.34%)
 ↳ pcs-open 90.73 ms 90.03 ms -0.44% (-0.87% to +0.08%)
 ↳ prove-bus 20.65 ms 20.57 ms -0.14% (-0.57% to +0.21%)
 ↳ prove-constraints 4.25 ms 4.17 ms -1.56% (-2.42% to -0.10%)
leanxmss-100 16 arm64 Neoverse-V2 163.46 ms 162.45 ms +0.07% (-4.31% to +0.26%)
 ↳ build-witness 4.85 ms 4.81 ms -0.23% (-0.92% to +0.32%)
 ↳ commit 20.54 ms 20.56 ms +0.25% (-0.62% to +0.85%)
 ↳ execute-program 10.20 ms 10.55 ms +2.08% (+0.99% to +4.38%)
 ↳ flock-reductions 56.54 ms 56.48 ms -0.23% (-9.25% to +0.31%)
 ↳ pcs-open 53.19 ms 53.13 ms -0.11% (-3.23% to +0.06%)
 ↳ prove-bus 13.36 ms 13.39 ms -0.25% (-1.37% to +1.13%)
 ↳ prove-constraints 3.78 ms 3.78 ms -0.61% (-2.14% to +2.24%)
leanxmss-100 1 x86-64 INTEL(R) XEON(R) GOLD 6548N 1.06 s 1.06 s +0.58% (-1.77% to +0.92%)
 ↳ build-witness 70.58 ms 70.67 ms -0.33% (-3.22% to +1.31%)
 ↳ commit 191.91 ms 192.80 ms +1.05% (-1.31% to +2.39%)
 ↳ execute-program 13.12 ms 13.32 ms +1.53% (-6.99% to +3.20%)
 ↳ flock-reductions 310.91 ms 311.88 ms +0.16% (-1.87% to +1.34%)
 ↳ pcs-open 366.32 ms 368.78 ms +0.22% (-1.63% to +0.99%)
 ↳ prove-bus 85.19 ms 84.78 ms -0.31% (-2.27% to +4.00%)
 ↳ prove-constraints 19.53 ms 19.70 ms +0.78% (-1.81% to +4.12%)
leanxmss-100 4 x86-64 INTEL(R) XEON(R) GOLD 6548N 286.69 ms 280.89 ms -2.05% (-10.85% to +1.04%)
 ↳ build-witness 18.61 ms 18.33 ms -1.04% (-3.91% to +1.04%)
 ↳ commit 47.29 ms 45.98 ms -0.25% (-12.49% to +2.16%)
 ↳ execute-program 11.19 ms 11.40 ms +1.36% (-5.75% to +4.56%)
 ↳ flock-reductions 82.29 ms 81.30 ms -1.29% (-2.92% to +3.44%)
 ↳ pcs-open 96.62 ms 95.77 ms -1.51% (-19.95% to +1.73%)
 ↳ prove-bus 23.84 ms 23.12 ms -1.98% (-6.41% to +2.00%)
 ↳ prove-constraints 7.05 ms 6.63 ms -4.77% (-8.73% to +6.86%)
leanxmss-100 8 x86-64 INTEL(R) XEON(R) GOLD 6548N 178.98 ms 179.23 ms +0.62% (-8.35% to +1.06%)
 ↳ build-witness 11.07 ms 11.22 ms +0.90% (-5.69% to +4.91%)
 ↳ commit 24.13 ms 24.10 ms -0.41% (-10.96% to +1.41%)
 ↳ execute-program 12.37 ms 12.82 ms +2.95% (-0.60% to +16.75%)
 ↳ flock-reductions 50.47 ms 50.49 ms -0.20% (-12.77% to +0.88%)
 ↳ pcs-open 60.52 ms 59.95 ms -0.53% (-4.99% to +1.27%)
 ↳ prove-bus 14.92 ms 14.90 ms -0.11% (-10.94% to +2.58%)
 ↳ prove-constraints 5.29 ms 5.33 ms -0.63% (-8.92% to +1.94%)
leanxmss-100 16 x86-64 INTEL(R) XEON(R) GOLD 6548N 130.01 ms 126.20 ms +1.00% (-17.11% to +4.27%)
 ↳ build-witness 7.37 ms 7.12 ms -0.37% (-22.94% to +7.63%)
 ↳ commit 14.14 ms 13.31 ms +1.30% (-25.25% to +23.04%)
 ↳ execute-program 12.49 ms 12.42 ms +0.16% (-8.18% to +2.23%)
 ↳ flock-reductions 38.62 ms 37.45 ms +0.87% (-19.20% to +6.14%)
 ↳ pcs-open 41.62 ms 40.24 ms -3.07% (-14.78% to +3.67%)
 ↳ prove-bus 10.85 ms 10.99 ms +2.80% (-15.61% to +5.74%)
 ↳ prove-constraints 4.59 ms 4.54 ms +0.61% (-10.77% to +1.21%)

@tcoratger
tcoratger force-pushed the zk-stack/2-hidden-scalars branch from 3819720 to b912ae9 Compare October 11, 2026 23:18
@tcoratger tcoratger changed the title fiat_shamir: scalars sent under one-time-pad keys fiat_shamir: messages sent under a one-time pad Oct 11, 2026
@tcoratger
tcoratger force-pushed the zk-stack/2-hidden-scalars branch from b912ae9 to 5972e1d Compare October 12, 2026 08:39
A zero-knowledge prover sends some scalars padded by keys it committed beforehand.

- ProverState takes its keys once; while hiding is on, each message is XORed with the next key, used once. A key is one element of E, so it pads one 24-byte message, and in E, XOR is addition: x travels as x + key. Anything else sent while hiding is on panics, as do running out of keys and hiding without keys.
- The sponge absorbs the padded bytes, the only ones the proof carries. A proof-of-work nonce stays in the clear.
- Both sides track the hidden section: ProverState and VerifierState have set_hidden and is_hidden, and so does the Verifier trait, whose default tracks nothing. A verifier of values reads a padded message as it is; a recording verifier holds it as its value plus an unknown key.
- ProverState::proof is the proof written so far, which the prover replays.

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/2-hidden-scalars branch from 5972e1d to fc64b14 Compare October 12, 2026 14:08

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