Skip to content

ci: run the arm64 benchmarks on the size-attester7870-arm64 runner - #528

Merged
kevaundray merged 2 commits into
leanEthereum:riscv-explorationfrom
kevaundray:kw/bench-attester-arm64
Oct 7, 2026
Merged

kevaundray merged 2 commits into
leanEthereum:riscv-explorationfrom
kevaundray:kw/bench-attester-arm64

Conversation

@kevaundray

@kevaundray kevaundray commented Oct 7, 2026 •

Copy link
Copy Markdown
Collaborator

This PR was created with Claude Code, prompted by @kevaundray.

Moves the arm64 bench testbed from ubuntu-24.04-arm to the self-hosted runner size-attester7870-arm64, the same way #527 moved x86-64 to size-attester7870-x64, so arm benchmarks run on a fixed, known machine.

Old runner against new runner (arm64)

benchmark old: Neoverse-N2, neoverse-n2 new: Neoverse-V2, native speedup (old / new)
fibonacci-asm-2000000 4.417 s (4.367 s to 4.460 s) 1.087 s (1.068 s to 1.103 s) 4.06x
hash-50000 2.679 s (2.665 s to 2.727 s) 695.11 ms (692.37 ms to 699.84 ms) 3.85x
leanxmss-100 775.13 ms (771.77 ms to 822.49 ms) 213.40 ms (212.69 ms to 220.21 ms) 3.63x
leanxmss-100-1thread 2.853 s (2.835 s to 2.899 s) 2.066 s (2.060 s to 2.074 s) 1.38x
leansphincs-26 862.15 ms (859.52 ms to 865.51 ms) 237.99 ms (236.81 ms to 244.02 ms) 3.62x
falcon-7 2.848 s (2.840 s to 2.900 s) 728.49 ms (724.01 ms to 736.28 ms) 3.91x
stateproof-5 6.239 s (6.214 s to 6.263 s) 1.542 s (1.537 s to 1.547 s) 4.05x
shielded-258 3.779 s (3.774 s to 3.826 s) 988.92 ms (981.54 ms to 1.026 s) 3.82x
aggregate-leanxmss-100-2to1-first 432.92 ms (430.55 ms to 439.50 ms) 126.24 ms (125.45 ms to 128.07 ms) 3.43x
aggregate-leanxmss-100-2to1-node 453.23 ms (449.56 ms to 502.33 ms) 130.97 ms (130.10 ms to 132.89 ms) 3.46x
aggregate-leanxmss-100-4to1-first 832.12 ms (829.45 ms to 841.55 ms) 256.38 ms (239.31 ms to 264.56 ms) 3.25x
aggregate-leanxmss-100-4to1-node 904.55 ms (903.00 ms to 953.20 ms) 270.07 ms (259.03 ms to 281.19 ms) 3.35x
aggregate-leanxmss-100-2to1-1thread-first 1.502 s (1.494 s to 1.514 s) 1.078 s (1.068 s to 1.087 s) 1.39x
aggregate-leanxmss-100-2to1-1thread-node 1.579 s (1.565 s to 1.584 s) 1.129 s (1.124 s to 1.143 s) 1.40x
flock-hash-batch-262144 4.432 s (4.415 s to 4.547 s) 1.026 s (1.023 s to 1.039 s) 4.32x
flock-add-wrapping-batch-262144 75.08 ms (74.21 ms to 75.81 ms) 21.72 ms (20.72 ms to 23.38 ms) 3.46x
flock-mul-widening-batch-262144 1.963 s (1.955 s to 1.967 s) 495.85 ms (481.55 ms to 507.14 ms) 3.96x
flock-mul-wrapping-batch-262144 1.064 s (1.060 s to 1.089 s) 273.72 ms (269.50 ms to 280.05 ms) 3.89x
ntt-forward-22 25.66 ms (25.35 ms to 28.91 ms) 3.85 ms (3.79 ms to 4.26 ms) 6.66x
pcs-commit-22 44.91 ms (44.50 ms to 45.94 ms) 8.68 ms (8.65 ms to 9.28 ms) 5.18x
pcs-open-22 59.82 ms (59.08 ms to 66.52 ms) 17.26 ms (17.06 ms to 19.78 ms) 3.47x
blake2s-batch 15.47 ns (15.45 ns to 15.75 ns) 3.84 ns (3.83 ns to 3.89 ns) 4.03x
f192-inv 224.56 ns (224.52 ns to 224.89 ns) 245.13 ns (244.95 ns to 245.29 ns) 0.92x
f192-mul-latency 8.25 ns (8.25 ns to 8.27 ns) 8.03 ns (8.00 ns to 8.05 ns) 1.03x
f192-mul-throughput 6.48 ns (6.48 ns to 6.50 ns) 2.94 ns (2.94 ns to 2.94 ns) 2.20x
f192-mul4-latency 25.94 ns (25.93 ns to 25.96 ns) 13.08 ns (12.69 ns to 13.12 ns) 1.98x
f192-mul4-throughput 25.94 ns (25.93 ns to 26.03 ns) 10.77 ns (10.75 ns to 10.79 ns) 2.41x
f192-square 3.54 ns (3.54 ns to 3.56 ns) 1.70 ns (1.70 ns to 1.70 ns) 2.08x
f64-inv 197.19 ns (197.13 ns to 197.63 ns) 211.50 ns (211.43 ns to 211.63 ns) 0.93x
f64-mul 1.18 ns (1.18 ns to 1.18 ns) 0.56 ns (0.56 ns to 0.57 ns) 2.11x
f64-square 1.18 ns (1.18 ns to 1.18 ns) 0.55 ns (0.55 ns to 0.55 ns) 2.14x
transpose-64bytes 16.07 ns (16.06 ns to 16.08 ns) 12.00 ns (11.99 ns to 12.01 ns) 1.34x
transpose-64x64 119.61 ns (119.44 ns to 120.14 ns) 96.41 ns (96.34 ns to 96.51 ns) 1.24x
Prover stages of a few cases

leanxmss-100

measure old new speedup
latency 775.13 ms (771.77 ms to 822.49 ms) 213.40 ms (212.69 ms to 220.21 ms) 3.63x
build-witness 20.65 ms (20.40 ms to 21.95 ms) 6.08 ms (5.99 ms to 7.39 ms) 3.40x
commit 125.61 ms (125.21 ms to 127.18 ms) 24.37 ms (24.31 ms to 27.12 ms) 5.15x
prove-bus 56.70 ms (56.43 ms to 58.29 ms) 12.57 ms (12.52 ms to 14.21 ms) 4.51x
flock-reductions 255.64 ms (254.47 ms to 270.15 ms) 63.09 ms (62.78 ms to 64.79 ms) 4.05x
pcs-open 295.67 ms (293.81 ms to 342.96 ms) 93.12 ms (92.83 ms to 93.75 ms) 3.18x
verify 4.84 ms (4.81 ms to 4.91 ms) 3.98 ms (3.95 ms to 4.04 ms) 1.21x

leanxmss-100-1thread

measure old new speedup
latency 2.853 s (2.835 s to 2.899 s) 2.066 s (2.060 s to 2.074 s) 1.38x
build-witness 74.29 ms (73.77 ms to 74.98 ms) 65.83 ms (65.25 ms to 66.69 ms) 1.13x
commit 496.93 ms (493.20 ms to 497.78 ms) 357.71 ms (356.12 ms to 358.49 ms) 1.39x
prove-bus 203.35 ms (202.88 ms to 204.93 ms) 118.02 ms (117.15 ms to 122.51 ms) 1.72x
flock-reductions 947.97 ms (936.99 ms to 950.22 ms) 703.23 ms (701.15 ms to 704.10 ms) 1.35x
pcs-open 1.099 s (1.083 s to 1.145 s) 796.66 ms (793.02 ms to 800.52 ms) 1.38x
verify 4.84 ms (4.80 ms to 4.99 ms) 3.91 ms (3.83 ms to 4.05 ms) 1.24x

fibonacci-asm-2000000

measure old new speedup
latency 4.417 s (4.367 s to 4.460 s) 1.087 s (1.068 s to 1.103 s) 4.06x
build-witness 135.76 ms (135.04 ms to 145.32 ms) 36.32 ms (35.90 ms to 40.49 ms) 3.74x
commit 815.31 ms (809.76 ms to 831.35 ms) 149.60 ms (148.50 ms to 150.69 ms) 5.45x
prove-bus 312.34 ms (309.62 ms to 317.31 ms) 54.26 ms (53.15 ms to 54.96 ms) 5.76x
flock-reductions 1.560 s (1.554 s to 1.571 s) 314.47 ms (311.46 ms to 317.28 ms) 4.96x
pcs-open 1.479 s (1.441 s to 1.513 s) 454.85 ms (444.14 ms to 471.13 ms) 3.25x
verify 4.93 ms (4.73 ms to 5.02 ms) 4.13 ms (4.01 ms to 4.19 ms) 1.19x

shielded-258

measure old new speedup
latency 3.779 s (3.774 s to 3.826 s) 988.92 ms (981.54 ms to 1.026 s) 3.82x
build-witness 113.91 ms (113.54 ms to 114.49 ms) 32.23 ms (31.29 ms to 33.60 ms) 3.53x
commit 744.75 ms (742.66 ms to 791.96 ms) 135.44 ms (134.27 ms to 135.98 ms) 5.50x
prove-bus 311.14 ms (310.40 ms to 313.82 ms) 55.33 ms (54.58 ms to 66.47 ms) 5.62x
flock-reductions 1.165 s (1.162 s to 1.167 s) 255.22 ms (253.27 ms to 267.48 ms) 4.56x
pcs-open 1.343 s (1.338 s to 1.351 s) 441.02 ms (434.40 ms to 461.47 ms) 3.04x
verify 4.91 ms (4.89 ms to 4.94 ms) 4.21 ms (4.16 ms to 4.38 ms) 1.17x

This PR's own comparison. Base and PR are the same proving code here. The bench comment flags no proving, verifying or per-operation time; two prover stages crossed its 1% flag on noise: shielded-258's build-witness +3.74% on arm64 and falcon-7's prove-bus +2.04% on x86-64.

The arm64 bench testbed moves from ubuntu-24.04-arm to the self-hosted
runner size-attester7870-arm64, requested with self-hosted-ghr like the
x86-64 one. Base and PR build and run on that one machine, so the testbed
is built for target-cpu=native. The NEON field kernels need aes (PMULL)
and sha3 (EOR3) at compile time: the job now fails early unless the build
enables both and the CPU has what the build enables.

The CPU step runs on both testbeds: on arm64 it prints the vendor, model,
cores, caches, memory and the NEON and SVE features, and the rust-cache
key includes the CPU model there too, so a native build is never restored
on another CPU.

In a fork's own repository, which has no such runner, the testbed falls
back to ubuntu-24.04-arm built for neoverse-n2 plus +aes,+sha3 as before.
@github-actions

github-actions Bot commented Oct 7, 2026 •

Copy link
Copy Markdown

Benchmarks: base against this PR, on one runner

e2a9899 merged into its base, against the base 84de8ef: 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).

Proving time

benchmark runner base this PR change
aggregate-leanxmss-100-2to1-node x86-64 89.76 ms 89.74 ms -1.05% (-3.04% to -0.02%)
leanxmss-100 arm64 215.02 ms 219.80 ms +1.84% (+0.15% to +2.69%)
Prover stages
benchmark runner base this PR change
aggregate-leanxmss-100-2to1-node arm64 134.28 ms 136.22 ms +1.18% (-1.44% to +7.74%)
 ↳ build-circuit 11.23 ms 11.67 ms +3.75% (-2.02% to +7.90%)
 ↳ prove-recursion 108.92 ms 110.22 ms +1.19% (-2.30% to +8.35%)
 ↳ reduce-claims 6.71 ms 6.75 ms +0.82% (-4.03% to +2.50%)
 ↳ reduce-in-rows 1.43 ms 1.47 ms +2.09% (+0.26% to +10.02%)
aggregate-leanxmss-100-2to1-node x86-64 89.76 ms 89.74 ms -1.05% (-3.04% to -0.02%)
 ↳ build-circuit 14.54 ms 14.48 ms -0.44% (-5.89% to +3.26%)
 ↳ prove-recursion 57.09 ms 56.94 ms -1.06% (-1.48% to +1.12%)
 ↳ reduce-claims 9.78 ms 9.34 ms +1.30% (-27.24% to +3.07%)
 ↳ reduce-in-rows 1.72 ms 1.76 ms +2.88% (-4.20% to +5.25%)
aggregate-leanxmss-100-4to1-node x86-64 171.52 ms 170.54 ms -0.13% (-3.17% to +1.28%)
 ↳ build-circuit 38.33 ms 38.11 ms -0.57% (-1.58% to +2.03%)
 ↳ prove-recursion 101.01 ms 100.54 ms -0.46% (-2.78% to +0.54%)
 ↳ reduce-claims 13.99 ms 12.67 ms -2.76% (-14.54% to +14.11%)
 ↳ reduce-in-rows 4.16 ms 4.10 ms -1.24% (-2.52% to -0.46%)
hash-50000 x86-64 317.56 ms 317.51 ms -0.02% (-0.80% to +1.07%)
 ↳ build-witness 23.74 ms 23.65 ms +0.08% (-3.48% to +1.06%)
 ↳ commit 42.34 ms 42.45 ms -0.23% (-0.72% to +0.58%)
 ↳ execute-program 29.56 ms 30.06 ms +0.96% (-0.41% to +3.75%)
 ↳ flock-reductions 88.50 ms 88.27 ms -0.12% (-0.72% to +1.17%)
 ↳ pcs-open 102.74 ms 102.21 ms -0.87% (-1.26% to +1.60%)
 ↳ prove-bus 21.15 ms 21.29 ms +1.75% (-1.12% to +5.93%)
 ↳ prove-constraints 9.49 ms 9.14 ms -2.42% (-7.87% to -1.09%)
leanxmss-100 arm64 215.02 ms 219.80 ms +1.84% (+0.15% to +2.69%)
 ↳ build-witness 6.10 ms 6.34 ms +2.07% (-0.72% to +4.90%)
 ↳ commit 24.37 ms 24.51 ms +0.53% (+0.24% to +0.73%)
 ↳ execute-program 10.20 ms 10.37 ms +2.33% (+0.12% to +3.22%)
 ↳ flock-reductions 63.30 ms 63.80 ms +0.74% (+0.10% to +4.31%)
 ↳ pcs-open 94.52 ms 96.04 ms +1.25% (+0.38% to +4.29%)
 ↳ prove-bus 12.60 ms 12.76 ms +1.04% (-0.52% to +1.57%)
 ↳ prove-constraints 3.81 ms 3.85 ms +0.27% (-1.57% to +4.12%)

Verifying time

benchmark runner base this PR change
aggregate-leanxmss-100-2to1-node x86-64 4.18 ms 4.14 ms -1.91% (-2.91% to -0.99%)
Every result

Proving time

benchmark runner CPU base this PR change
aggregate-leanxmss-100-2to1-1thread-first arm64 Neoverse-V2 1.07 s 1.06 s -0.05% (-0.55% to +0.30%)
aggregate-leanxmss-100-2to1-1thread-first x86-64 INTEL(R) XEON(R) GOLD 6548N 608.19 ms 609.87 ms +0.28% (-0.98% to +0.96%)
aggregate-leanxmss-100-2to1-1thread-node arm64 Neoverse-V2 1.12 s 1.12 s +0.15% (-0.17% to +0.40%)
aggregate-leanxmss-100-2to1-1thread-node x86-64 INTEL(R) XEON(R) GOLD 6548N 642.19 ms 643.10 ms +0.26% (-1.52% to +0.82%)
aggregate-leanxmss-100-2to1-first arm64 Neoverse-V2 129.21 ms 130.58 ms -0.05% (-0.90% to +2.03%)
aggregate-leanxmss-100-2to1-first x86-64 INTEL(R) XEON(R) GOLD 6548N 86.65 ms 86.32 ms -0.45% (-1.85% to +1.31%)
aggregate-leanxmss-100-2to1-node arm64 Neoverse-V2 134.28 ms 136.22 ms +1.18% (-1.44% to +7.74%)
aggregate-leanxmss-100-2to1-node x86-64 INTEL(R) XEON(R) GOLD 6548N 89.76 ms 89.74 ms -1.05% (-3.04% to -0.02%)
aggregate-leanxmss-100-4to1-first arm64 Neoverse-V2 235.92 ms 234.59 ms -0.42% (-1.74% to +0.49%)
aggregate-leanxmss-100-4to1-first x86-64 INTEL(R) XEON(R) GOLD 6548N 161.77 ms 159.88 ms -1.39% (-1.68% to +0.55%)
aggregate-leanxmss-100-4to1-node arm64 Neoverse-V2 252.96 ms 252.29 ms -0.23% (-1.31% to +2.02%)
aggregate-leanxmss-100-4to1-node x86-64 INTEL(R) XEON(R) GOLD 6548N 171.52 ms 170.54 ms -0.13% (-3.17% to +1.28%)
falcon-7 arm64 Neoverse-V2 728.28 ms 727.93 ms -0.10% (-0.89% to +1.65%)
falcon-7 x86-64 INTEL(R) XEON(R) GOLD 6548N 325.40 ms 325.02 ms +0.28% (-2.88% to +0.69%)
fibonacci-asm-2000000 arm64 Neoverse-V2 1.05 s 1.05 s -0.29% (-0.45% to +0.23%)
fibonacci-asm-2000000 x86-64 INTEL(R) XEON(R) GOLD 6548N 475.77 ms 475.65 ms +0.07% (-1.71% to +1.31%)
flock-add-wrapping-batch-262144 arm64 Neoverse-V2 20.99 ms 20.90 ms -1.03% (-4.91% to +0.78%)
flock-add-wrapping-batch-262144 x86-64 INTEL(R) XEON(R) GOLD 6548N 9.28 ms 9.26 ms +1.34% (-4.14% to +13.47%)
flock-hash-batch-262144 arm64 Neoverse-V2 1.08 s 1.07 s -0.26% (-1.70% to +1.42%)
flock-hash-batch-262144 x86-64 INTEL(R) XEON(R) GOLD 6548N 332.14 ms 331.11 ms -0.21% (-1.41% to +0.07%)
flock-mul-widening-batch-262144 arm64 Neoverse-V2 477.70 ms 479.18 ms +0.65% (-1.26% to +2.88%)
flock-mul-widening-batch-262144 x86-64 INTEL(R) XEON(R) GOLD 6548N 160.91 ms 160.48 ms -0.29% (-0.71% to +0.39%)
flock-mul-wrapping-batch-262144 arm64 Neoverse-V2 263.12 ms 264.40 ms +0.02% (-1.38% to +0.86%)
flock-mul-wrapping-batch-262144 x86-64 INTEL(R) XEON(R) GOLD 6548N 86.59 ms 86.34 ms -0.28% (-0.48% to +0.78%)
hash-50000 arm64 Neoverse-V2 706.43 ms 705.24 ms -0.53% (-0.84% to +2.11%)
hash-50000 x86-64 INTEL(R) XEON(R) GOLD 6548N 317.56 ms 317.51 ms -0.02% (-0.80% to +1.07%)
leansphincs-26 arm64 Neoverse-V2 237.64 ms 240.42 ms +0.41% (+0.20% to +1.17%)
leansphincs-26 x86-64 INTEL(R) XEON(R) GOLD 6548N 127.88 ms 128.23 ms +0.33% (-0.83% to +0.79%)
leanxmss-100 arm64 Neoverse-V2 215.02 ms 219.80 ms +1.84% (+0.15% to +2.69%)
leanxmss-100 x86-64 INTEL(R) XEON(R) GOLD 6548N 118.70 ms 117.48 ms -0.97% (-1.71% to +0.85%)
leanxmss-100-1thread arm64 Neoverse-V2 2.07 s 2.07 s -0.16% (-0.67% to +0.69%)
leanxmss-100-1thread x86-64 INTEL(R) XEON(R) GOLD 6548N 1.03 s 1.03 s +0.09% (-1.52% to +1.14%)
pcs-commit-22 arm64 Neoverse-V2 8.66 ms 8.68 ms +0.33% (-0.60% to +8.21%)
pcs-commit-22 x86-64 INTEL(R) XEON(R) GOLD 6548N 4.04 ms 4.10 ms +0.32% (-1.56% to +7.08%)
pcs-open-22 arm64 Neoverse-V2 17.02 ms 16.94 ms -0.37% (-1.36% to +2.13%)
pcs-open-22 x86-64 INTEL(R) XEON(R) GOLD 6548N 16.33 ms 16.18 ms -0.16% (-6.42% to +2.68%)
shielded-258 arm64 Neoverse-V2 970.50 ms 968.55 ms -0.29% (-0.56% to +1.02%)
shielded-258 x86-64 INTEL(R) XEON(R) GOLD 6548N 471.40 ms 472.02 ms -0.31% (-0.91% to +1.82%)
stateproof-5 arm64 Neoverse-V2 1.57 s 1.56 s -0.40% (-1.32% to +2.51%)
stateproof-5 x86-64 INTEL(R) XEON(R) GOLD 6548N 721.99 ms 716.60 ms -0.54% (-0.99% to +0.27%)
Prover stages
benchmark runner CPU base this PR change
aggregate-leanxmss-100-2to1-1thread-first arm64 Neoverse-V2 1.07 s 1.06 s -0.05% (-0.55% to +0.30%)
 ↳ build-circuit 12.18 ms 12.21 ms +0.42% (+0.04% to +0.56%)
 ↳ prove-recursion 1.03 s 1.03 s -0.09% (-0.51% to +0.39%)
 ↳ reduce-claims 15.79 ms 15.84 ms +0.74% (-4.07% to +3.57%)
 ↳ reduce-in-rows 1.40 ms 1.34 ms -5.84% (-9.38% to +11.17%)
 ↳ verify 6.84 ms 6.86 ms +0.30% (-0.15% to +0.49%)
aggregate-leanxmss-100-2to1-1thread-first x86-64 INTEL(R) XEON(R) GOLD 6548N 608.19 ms 609.87 ms +0.28% (-0.98% to +0.96%)
 ↳ build-circuit 14.91 ms 15.28 ms +2.47% (-4.94% to +11.33%)
 ↳ prove-recursion 565.78 ms 566.24 ms +0.29% (-1.08% to +0.90%)
 ↳ reduce-claims 18.42 ms 18.44 ms +0.11% (-0.76% to +1.80%)
 ↳ reduce-in-rows 1.56 ms 1.60 ms +1.46% (-8.26% to +20.68%)
 ↳ verify 7.84 ms 7.94 ms +1.11% (-0.82% to +3.36%)
aggregate-leanxmss-100-2to1-1thread-node arm64 Neoverse-V2 1.12 s 1.12 s +0.15% (-0.17% to +0.40%)
 ↳ build-circuit 11.93 ms 11.92 ms -0.56% (-0.61% to +0.28%)
 ↳ prove-recursion 1.06 s 1.07 s +0.14% (-0.19% to +0.46%)
 ↳ reduce-claims 30.52 ms 30.11 ms -0.41% (-1.96% to +0.60%)
 ↳ reduce-in-rows 1.48 ms 1.47 ms -0.01% (-9.97% to +9.65%)
aggregate-leanxmss-100-2to1-1thread-node x86-64 INTEL(R) XEON(R) GOLD 6548N 642.19 ms 643.10 ms +0.26% (-1.52% to +0.82%)
 ↳ build-circuit 15.95 ms 15.91 ms +3.78% (-11.46% to +7.40%)
 ↳ prove-recursion 582.62 ms 583.34 ms -0.01% (-1.09% to +0.59%)
 ↳ reduce-claims 33.84 ms 34.46 ms +2.33% (-3.49% to +4.10%)
 ↳ reduce-in-rows 1.68 ms 1.72 ms +1.51% (-6.69% to +6.19%)
aggregate-leanxmss-100-2to1-first arm64 Neoverse-V2 129.21 ms 130.58 ms -0.05% (-0.90% to +2.03%)
 ↳ build-circuit 10.61 ms 10.61 ms -1.75% (-2.49% to +2.95%)
 ↳ prove-recursion 105.55 ms 106.82 ms -0.12% (-1.22% to +2.75%)
 ↳ reduce-claims 4.21 ms 4.33 ms +1.57% (-4.43% to +8.92%)
 ↳ reduce-in-rows 1.45 ms 1.42 ms -1.71% (-2.16% to +2.61%)
 ↳ verify 7.32 ms 7.36 ms -0.75% (-3.94% to +3.09%)
aggregate-leanxmss-100-2to1-first x86-64 INTEL(R) XEON(R) GOLD 6548N 86.65 ms 86.32 ms -0.45% (-1.85% to +1.31%)
 ↳ build-circuit 13.29 ms 13.54 ms +1.06% (-0.52% to +5.89%)
 ↳ prove-recursion 55.78 ms 55.72 ms -0.11% (-1.46% to +0.87%)
 ↳ reduce-claims 6.75 ms 6.11 ms +0.17% (-19.13% to +6.35%)
 ↳ reduce-in-rows 1.60 ms 1.65 ms +3.17% (-1.77% to +9.62%)
 ↳ verify 8.72 ms 8.72 ms +0.15% (-2.48% to +0.81%)
aggregate-leanxmss-100-2to1-node arm64 Neoverse-V2 134.28 ms 136.22 ms +1.18% (-1.44% to +7.74%)
 ↳ build-circuit 11.23 ms 11.67 ms +3.75% (-2.02% to +7.90%)
 ↳ prove-recursion 108.92 ms 110.22 ms +1.19% (-2.30% to +8.35%)
 ↳ reduce-claims 6.71 ms 6.75 ms +0.82% (-4.03% to +2.50%)
 ↳ reduce-in-rows 1.43 ms 1.47 ms +2.09% (+0.26% to +10.02%)
aggregate-leanxmss-100-2to1-node x86-64 INTEL(R) XEON(R) GOLD 6548N 89.76 ms 89.74 ms -1.05% (-3.04% to -0.02%)
 ↳ build-circuit 14.54 ms 14.48 ms -0.44% (-5.89% to +3.26%)
 ↳ prove-recursion 57.09 ms 56.94 ms -1.06% (-1.48% to +1.12%)
 ↳ reduce-claims 9.78 ms 9.34 ms +1.30% (-27.24% to +3.07%)
 ↳ reduce-in-rows 1.72 ms 1.76 ms +2.88% (-4.20% to +5.25%)
aggregate-leanxmss-100-4to1-first arm64 Neoverse-V2 235.92 ms 234.59 ms -0.42% (-1.74% to +0.49%)
 ↳ build-circuit 20.71 ms 20.72 ms -0.41% (-1.44% to +1.04%)
 ↳ prove-recursion 192.97 ms 191.68 ms -0.40% (-1.86% to +0.39%)
 ↳ reduce-claims 4.86 ms 4.92 ms +2.09% (-4.87% to +4.92%)
 ↳ reduce-in-rows 2.74 ms 2.73 ms -1.06% (-6.09% to +0.71%)
 ↳ verify 14.23 ms 14.26 ms +0.18% (-1.44% to +0.62%)
aggregate-leanxmss-100-4to1-first x86-64 INTEL(R) XEON(R) GOLD 6548N 161.77 ms 159.88 ms -1.39% (-1.68% to +0.55%)
 ↳ build-circuit 33.35 ms 32.96 ms -0.32% (-2.18% to +1.32%)
 ↳ prove-recursion 97.19 ms 96.94 ms -0.34% (-1.09% to +0.50%)
 ↳ reduce-claims 9.30 ms 8.33 ms -7.08% (-18.76% to +0.16%)
 ↳ reduce-in-rows 3.81 ms 3.84 ms +0.90% (-2.40% to +3.92%)
 ↳ verify 17.63 ms 17.31 ms -2.23% (-2.86% to +0.11%)
aggregate-leanxmss-100-4to1-node arm64 Neoverse-V2 252.96 ms 252.29 ms -0.23% (-1.31% to +2.02%)
 ↳ build-circuit 24.25 ms 24.30 ms +0.18% (-1.08% to +1.96%)
 ↳ prove-recursion 203.05 ms 202.60 ms -0.35% (-1.72% to +2.73%)
 ↳ reduce-claims 9.53 ms 9.58 ms +1.78% (-0.94% to +4.14%)
 ↳ reduce-in-rows 2.94 ms 2.94 ms +1.10% (-4.68% to +2.45%)
aggregate-leanxmss-100-4to1-node x86-64 INTEL(R) XEON(R) GOLD 6548N 171.52 ms 170.54 ms -0.13% (-3.17% to +1.28%)
 ↳ build-circuit 38.33 ms 38.11 ms -0.57% (-1.58% to +2.03%)
 ↳ prove-recursion 101.01 ms 100.54 ms -0.46% (-2.78% to +0.54%)
 ↳ reduce-claims 13.99 ms 12.67 ms -2.76% (-14.54% to +14.11%)
 ↳ reduce-in-rows 4.16 ms 4.10 ms -1.24% (-2.52% to -0.46%)
falcon-7 arm64 Neoverse-V2 728.28 ms 727.93 ms -0.10% (-0.89% to +1.65%)
 ↳ build-witness 25.10 ms 25.08 ms -0.06% (-0.55% to +0.30%)
 ↳ commit 97.60 ms 97.99 ms +0.26% (-0.06% to +0.76%)
 ↳ execute-program 31.53 ms 31.51 ms +0.18% (-0.61% to +0.48%)
 ↳ flock-reductions 191.18 ms 190.94 ms -0.04% (-2.99% to +0.02%)
 ↳ pcs-open 341.02 ms 341.04 ms +0.06% (-0.18% to +3.47%)
 ↳ prove-bus 33.25 ms 33.26 ms -0.01% (-0.89% to +0.23%)
 ↳ prove-constraints 7.59 ms 7.57 ms +0.43% (-0.89% to +3.40%)
falcon-7 x86-64 INTEL(R) XEON(R) GOLD 6548N 325.40 ms 325.02 ms +0.28% (-2.88% to +0.69%)
 ↳ build-witness 21.13 ms 21.33 ms +0.79% (-18.33% to +4.02%)
 ↳ commit 41.61 ms 41.74 ms -0.10% (-1.40% to +0.92%)
 ↳ execute-program 40.17 ms 40.16 ms -0.14% (-2.15% to +0.23%)
 ↳ flock-reductions 86.68 ms 86.63 ms -0.53% (-1.77% to +0.86%)
 ↳ pcs-open 102.01 ms 102.36 ms +0.32% (-2.59% to +0.84%)
 ↳ prove-bus 24.20 ms 24.12 ms -0.18% (-1.68% to +2.57%)
 ↳ prove-constraints 8.56 ms 8.74 ms +0.65% (+0.18% to +8.57%)
fibonacci-asm-2000000 arm64 Neoverse-V2 1.05 s 1.05 s -0.29% (-0.45% to +0.23%)
 ↳ build-witness 35.73 ms 35.84 ms +0.31% (-0.84% to +1.96%)
 ↳ commit 148.78 ms 148.78 ms -0.12% (-0.66% to +0.77%)
 ↳ execute-program 63.24 ms 62.82 ms +0.68% (-5.53% to +3.21%)
 ↳ flock-reductions 311.67 ms 312.53 ms -0.11% (-1.70% to +0.52%)
 ↳ pcs-open 429.52 ms 426.53 ms -0.52% (-1.31% to +0.78%)
 ↳ prove-bus 53.14 ms 53.14 ms +0.13% (-0.23% to +0.29%)
 ↳ prove-constraints 10.76 ms 10.75 ms +0.19% (-1.07% to +5.07%)
fibonacci-asm-2000000 x86-64 INTEL(R) XEON(R) GOLD 6548N 475.77 ms 475.65 ms +0.07% (-1.71% to +1.31%)
 ↳ build-witness 35.13 ms 35.23 ms +0.08% (-1.35% to +1.32%)
 ↳ commit 61.66 ms 61.98 ms +0.41% (-1.28% to +2.15%)
 ↳ execute-program 73.65 ms 73.43 ms -0.33% (-6.50% to +4.58%)
 ↳ flock-reductions 121.16 ms 121.19 ms -0.07% (-0.87% to +0.14%)
 ↳ pcs-open 136.11 ms 135.55 ms -0.33% (-0.63% to +0.15%)
 ↳ prove-bus 34.17 ms 34.20 ms -0.39% (-0.78% to +2.13%)
 ↳ prove-constraints 12.39 ms 12.48 ms +0.70% (-0.88% to +2.48%)
hash-50000 arm64 Neoverse-V2 706.43 ms 705.24 ms -0.53% (-0.84% to +2.11%)
 ↳ build-witness 24.92 ms 24.63 ms -1.46% (-12.70% to +2.75%)
 ↳ commit 98.65 ms 97.84 ms -1.08% (-3.39% to +3.34%)
 ↳ execute-program 23.64 ms 23.76 ms +1.02% (-0.94% to +2.60%)
 ↳ flock-reductions 179.76 ms 180.30 ms +0.35% (-0.47% to +2.06%)
 ↳ pcs-open 342.63 ms 341.16 ms -0.34% (-1.88% to +1.55%)
 ↳ prove-bus 28.27 ms 28.08 ms -0.36% (-3.27% to +12.31%)
 ↳ prove-constraints 7.11 ms 7.11 ms +1.18% (-1.19% to +2.68%)
hash-50000 x86-64 INTEL(R) XEON(R) GOLD 6548N 317.56 ms 317.51 ms -0.02% (-0.80% to +1.07%)
 ↳ build-witness 23.74 ms 23.65 ms +0.08% (-3.48% to +1.06%)
 ↳ commit 42.34 ms 42.45 ms -0.23% (-0.72% to +0.58%)
 ↳ execute-program 29.56 ms 30.06 ms +0.96% (-0.41% to +3.75%)
 ↳ flock-reductions 88.50 ms 88.27 ms -0.12% (-0.72% to +1.17%)
 ↳ pcs-open 102.74 ms 102.21 ms -0.87% (-1.26% to +1.60%)
 ↳ prove-bus 21.15 ms 21.29 ms +1.75% (-1.12% to +5.93%)
 ↳ prove-constraints 9.49 ms 9.14 ms -2.42% (-7.87% to -1.09%)
leansphincs-26 arm64 Neoverse-V2 237.64 ms 240.42 ms +0.41% (+0.20% to +1.17%)
 ↳ build-witness 7.16 ms 7.10 ms -0.06% (-4.47% to +0.15%)
 ↳ commit 28.52 ms 28.22 ms +0.02% (-1.89% to +1.24%)
 ↳ execute-program 11.42 ms 11.55 ms +0.85% (-1.05% to +2.54%)
 ↳ flock-reductions 68.36 ms 68.47 ms +0.15% (-3.59% to +4.73%)
 ↳ pcs-open 103.21 ms 103.99 ms +0.33% (-0.12% to +5.22%)
 ↳ prove-bus 14.42 ms 14.29 ms -0.86% (-1.68% to +1.00%)
 ↳ prove-constraints 4.26 ms 4.18 ms +0.11% (-3.34% to +2.53%)
leansphincs-26 x86-64 INTEL(R) XEON(R) GOLD 6548N 127.88 ms 128.23 ms +0.33% (-0.83% to +0.79%)
 ↳ build-witness 7.43 ms 7.40 ms -0.19% (-2.81% to +0.24%)
 ↳ commit 12.96 ms 12.92 ms -0.15% (-2.20% to +0.90%)
 ↳ execute-program 15.01 ms 14.97 ms -0.35% (-1.91% to +0.74%)
 ↳ flock-reductions 39.24 ms 39.63 ms +1.37% (-0.21% to +1.81%)
 ↳ pcs-open 35.50 ms 35.78 ms +0.79% (-3.30% to +2.47%)
 ↳ prove-bus 12.45 ms 12.31 ms -0.30% (-1.28% to +0.89%)
 ↳ prove-constraints 4.98 ms 5.00 ms -0.34% (-0.76% to +2.05%)
leanxmss-100 arm64 Neoverse-V2 215.02 ms 219.80 ms +1.84% (+0.15% to +2.69%)
 ↳ build-witness 6.10 ms 6.34 ms +2.07% (-0.72% to +4.90%)
 ↳ commit 24.37 ms 24.51 ms +0.53% (+0.24% to +0.73%)
 ↳ execute-program 10.20 ms 10.37 ms +2.33% (+0.12% to +3.22%)
 ↳ flock-reductions 63.30 ms 63.80 ms +0.74% (+0.10% to +4.31%)
 ↳ pcs-open 94.52 ms 96.04 ms +1.25% (+0.38% to +4.29%)
 ↳ prove-bus 12.60 ms 12.76 ms +1.04% (-0.52% to +1.57%)
 ↳ prove-constraints 3.81 ms 3.85 ms +0.27% (-1.57% to +4.12%)
leanxmss-100 x86-64 INTEL(R) XEON(R) GOLD 6548N 118.70 ms 117.48 ms -0.97% (-1.71% to +0.85%)
 ↳ build-witness 6.53 ms 6.44 ms -0.46% (-4.68% to +0.01%)
 ↳ commit 11.75 ms 11.76 ms +0.04% (-0.58% to +0.57%)
 ↳ execute-program 13.45 ms 13.45 ms -1.53% (-3.40% to +2.07%)
 ↳ flock-reductions 37.52 ms 37.38 ms -0.04% (-1.64% to +0.62%)
 ↳ pcs-open 32.26 ms 31.93 ms -0.13% (-1.78% to +1.50%)
 ↳ prove-bus 11.89 ms 11.66 ms -1.40% (-3.40% to +0.35%)
 ↳ prove-constraints 4.76 ms 4.75 ms -0.49% (-17.25% to +2.46%)
leanxmss-100-1thread arm64 Neoverse-V2 2.07 s 2.07 s -0.16% (-0.67% to +0.69%)
 ↳ build-witness 66.13 ms 65.89 ms +0.47% (-1.17% to +1.98%)
 ↳ commit 358.16 ms 358.79 ms +0.19% (-0.47% to +0.37%)
 ↳ execute-program 10.07 ms 10.31 ms +2.81% (-0.30% to +7.76%)
 ↳ flock-reductions 702.88 ms 704.94 ms +0.29% (-0.51% to +1.03%)
 ↳ pcs-open 804.87 ms 799.15 ms -0.65% (-1.46% to +1.11%)
 ↳ prove-bus 118.25 ms 118.39 ms +0.21% (-2.62% to +2.33%)
 ↳ prove-constraints 14.69 ms 15.04 ms +1.56% (-2.24% to +4.58%)
leanxmss-100-1thread x86-64 INTEL(R) XEON(R) GOLD 6548N 1.03 s 1.03 s +0.09% (-1.52% to +1.14%)
 ↳ build-witness 75.76 ms 75.69 ms +0.92% (-1.07% to +3.05%)
 ↳ commit 179.23 ms 180.43 ms +0.27% (-1.02% to +1.91%)
 ↳ execute-program 13.11 ms 13.19 ms +0.63% (-1.09% to +3.01%)
 ↳ flock-reductions 306.20 ms 306.26 ms +0.02% (-1.74% to +0.42%)
 ↳ pcs-open 350.57 ms 351.55 ms +0.32% (-0.99% to +1.21%)
 ↳ prove-bus 85.95 ms 85.69 ms +0.34% (-7.31% to +1.45%)
 ↳ prove-constraints 19.06 ms 19.26 ms +0.39% (-7.56% to +1.90%)
shielded-258 arm64 Neoverse-V2 970.50 ms 968.55 ms -0.29% (-0.56% to +1.02%)
 ↳ build-witness 31.33 ms 31.34 ms +0.12% (-0.23% to +0.28%)
 ↳ commit 134.58 ms 134.24 ms -0.30% (-0.59% to -0.10%)
 ↳ execute-program 57.16 ms 57.22 ms -0.10% (-1.45% to +0.66%)
 ↳ flock-reductions 253.18 ms 253.24 ms -0.13% (-0.76% to +4.43%)
 ↳ pcs-open 429.08 ms 427.64 ms -0.53% (-0.66% to +1.87%)
 ↳ prove-bus 54.58 ms 54.63 ms +0.10% (+0.02% to +0.15%)
 ↳ prove-constraints 9.94 ms 9.96 ms +0.31% (-0.70% to +1.92%)
shielded-258 x86-64 INTEL(R) XEON(R) GOLD 6548N 471.40 ms 472.02 ms -0.31% (-0.91% to +1.82%)
 ↳ build-witness 34.33 ms 34.41 ms +0.25% (-0.80% to +3.14%)
 ↳ commit 59.51 ms 60.02 ms +0.24% (-0.52% to +1.65%)
 ↳ execute-program 77.89 ms 76.66 ms -1.58% (-3.62% to +0.77%)
 ↳ flock-reductions 114.07 ms 114.40 ms +0.28% (+0.15% to +1.16%)
 ↳ pcs-open 134.80 ms 134.09 ms -0.59% (-1.06% to +3.05%)
 ↳ prove-bus 39.74 ms 39.74 ms -0.33% (-1.75% to +4.69%)
 ↳ prove-constraints 11.77 ms 11.79 ms -0.57% (-1.93% to +4.91%)
stateproof-5 arm64 Neoverse-V2 1.57 s 1.56 s -0.40% (-1.32% to +2.51%)
 ↳ build-witness 50.93 ms 51.05 ms -0.04% (-4.87% to +2.52%)
 ↳ commit 223.01 ms 223.83 ms +0.11% (-1.07% to +0.63%)
 ↳ execute-program 73.78 ms 73.90 ms -0.31% (-0.96% to +16.97%)
 ↳ flock-reductions 388.45 ms 388.46 ms +0.24% (-0.52% to +2.27%)
 ↳ pcs-open 736.72 ms 721.27 ms -0.66% (-3.89% to +4.73%)
 ↳ prove-bus 83.16 ms 83.16 ms -1.12% (-12.19% to +4.32%)
 ↳ prove-constraints 15.42 ms 15.91 ms +3.78% (-5.22% to +6.07%)
stateproof-5 x86-64 INTEL(R) XEON(R) GOLD 6548N 721.99 ms 716.60 ms -0.54% (-0.99% to +0.27%)
 ↳ build-witness 53.05 ms 52.47 ms -1.10% (-1.77% to +0.20%)
 ↳ commit 98.33 ms 98.36 ms +0.09% (-0.30% to +1.15%)
 ↳ execute-program 100.28 ms 98.42 ms -1.80% (-3.02% to +0.05%)
 ↳ flock-reductions 174.72 ms 173.97 ms -0.30% (-0.56% to +0.18%)
 ↳ pcs-open 222.23 ms 221.57 ms -0.30% (-0.69% to +0.64%)
 ↳ prove-bus 55.17 ms 54.79 ms -1.01% (-1.74% to +1.24%)
 ↳ prove-constraints 17.89 ms 17.56 ms -1.25% (-2.34% to +2.50%)

Verifying time

benchmark runner CPU base this PR change
aggregate-leanxmss-100-2to1-1thread-first arm64 Neoverse-V2 4.61 ms 4.63 ms +0.35% (-0.09% to +0.55%)
aggregate-leanxmss-100-2to1-1thread-first x86-64 INTEL(R) XEON(R) GOLD 6548N 4.66 ms 4.56 ms -2.81% (-13.99% to +5.35%)
aggregate-leanxmss-100-2to1-1thread-node arm64 Neoverse-V2 7.32 ms 7.30 ms -0.04% (-2.66% to +2.49%)
aggregate-leanxmss-100-2to1-1thread-node x86-64 INTEL(R) XEON(R) GOLD 6548N 8.29 ms 8.07 ms -0.41% (-3.44% to +16.24%)
aggregate-leanxmss-100-2to1-first arm64 Neoverse-V2 3.64 ms 3.71 ms +1.93% (-2.23% to +6.49%)
aggregate-leanxmss-100-2to1-first x86-64 INTEL(R) XEON(R) GOLD 6548N 4.23 ms 4.17 ms -2.58% (-7.28% to +2.32%)
aggregate-leanxmss-100-2to1-node arm64 Neoverse-V2 3.82 ms 3.80 ms -0.32% (-2.87% to +2.09%)
aggregate-leanxmss-100-2to1-node x86-64 INTEL(R) XEON(R) GOLD 6548N 4.18 ms 4.14 ms -1.91% (-2.91% to -0.99%)
aggregate-leanxmss-100-4to1-first arm64 Neoverse-V2 3.74 ms 3.73 ms -0.06% (-0.88% to +1.00%)
aggregate-leanxmss-100-4to1-first x86-64 INTEL(R) XEON(R) GOLD 6548N 4.68 ms 4.58 ms -0.35% (-8.24% to +0.61%)
aggregate-leanxmss-100-4to1-node arm64 Neoverse-V2 4.20 ms 4.21 ms +0.09% (-3.37% to +0.34%)
aggregate-leanxmss-100-4to1-node x86-64 INTEL(R) XEON(R) GOLD 6548N 4.87 ms 4.89 ms +0.36% (-0.47% to +1.79%)
falcon-7 arm64 Neoverse-V2 4.19 ms 4.19 ms +0.31% (-0.31% to +2.52%)
falcon-7 x86-64 INTEL(R) XEON(R) GOLD 6548N 4.72 ms 4.72 ms +0.09% (-0.99% to +0.41%)
fibonacci-asm-2000000 arm64 Neoverse-V2 4.01 ms 4.01 ms +0.21% (-0.29% to +3.61%)
fibonacci-asm-2000000 x86-64 INTEL(R) XEON(R) GOLD 6548N 4.55 ms 4.55 ms -0.91% (-2.24% to +0.45%)
hash-50000 arm64 Neoverse-V2 4.07 ms 4.13 ms +2.33% (-0.29% to +4.21%)
hash-50000 x86-64 INTEL(R) XEON(R) GOLD 6548N 4.59 ms 4.56 ms -0.53% (-1.43% to +1.33%)
leansphincs-26 arm64 Neoverse-V2 4.03 ms 4.02 ms +0.20% (-1.32% to +0.92%)
leansphincs-26 x86-64 INTEL(R) XEON(R) GOLD 6548N 4.46 ms 4.48 ms +0.86% (-0.59% to +5.63%)
leanxmss-100 arm64 Neoverse-V2 4.02 ms 4.08 ms +2.10% (-2.87% to +2.30%)
leanxmss-100 x86-64 INTEL(R) XEON(R) GOLD 6548N 4.57 ms 4.56 ms -0.21% (-4.20% to +1.14%)
leanxmss-100-1thread arm64 Neoverse-V2 3.96 ms 3.93 ms +0.02% (-4.00% to +0.45%)
leanxmss-100-1thread x86-64 INTEL(R) XEON(R) GOLD 6548N 4.13 ms 4.12 ms +0.37% (-2.87% to +1.08%)
shielded-258 arm64 Neoverse-V2 4.17 ms 4.17 ms +0.08% (-0.18% to +0.72%)
shielded-258 x86-64 INTEL(R) XEON(R) GOLD 6548N 4.95 ms 4.97 ms +0.34% (-1.67% to +2.07%)
stateproof-5 arm64 Neoverse-V2 4.38 ms 4.35 ms -0.19% (-5.08% to +0.82%)
stateproof-5 x86-64 INTEL(R) XEON(R) GOLD 6548N 5.04 ms 5.04 ms +0.16% (-4.12% to +1.33%)

Time per operation

benchmark runner CPU base this PR change
blake2s-batch arm64 Neoverse-V2 3.84 ns 3.85 ns +0.05% (-1.26% to +0.73%)
blake2s-batch x86-64 INTEL(R) XEON(R) GOLD 6548N 0.81 ns 0.81 ns +0.00% (-70.52% to +3.65%)
f192-inv arm64 Neoverse-V2 245.15 ns 245.17 ns +0.07% (-0.12% to +0.21%)
f192-inv x86-64 INTEL(R) XEON(R) GOLD 6548N 265.63 ns 265.82 ns +0.07% (-0.03% to +1.34%)
f192-mul-latency arm64 Neoverse-V2 8.05 ns 8.03 ns -0.01% (-0.32% to +0.06%)
f192-mul-latency x86-64 INTEL(R) XEON(R) GOLD 6548N 7.57 ns 7.60 ns +0.37% (-0.69% to +0.81%)
f192-mul-throughput arm64 Neoverse-V2 2.94 ns 2.94 ns +0.00% (-0.27% to +0.03%)
f192-mul-throughput x86-64 INTEL(R) XEON(R) GOLD 6548N 4.44 ns 4.44 ns -0.05% (-0.11% to +20.49%)
f192-mul4-latency arm64 Neoverse-V2 13.08 ns 13.08 ns +0.02% (-2.91% to +2.48%)
f192-mul4-latency x86-64 INTEL(R) XEON(R) GOLD 6548N 10.10 ns 10.10 ns -0.01% (-0.07% to +1.15%)
f192-mul4-throughput arm64 Neoverse-V2 10.76 ns 10.76 ns -0.03% (-0.09% to +0.34%)
f192-mul4-throughput x86-64 INTEL(R) XEON(R) GOLD 6548N 15.61 ns 15.61 ns -0.03% (-0.08% to -0.01%)
f192-square arm64 Neoverse-V2 1.70 ns 1.70 ns +0.12% (+0.00% to +0.24%)
f192-square x86-64 INTEL(R) XEON(R) GOLD 6548N 3.33 ns 3.32 ns -0.18% (-0.42% to -0.03%)
f64-inv arm64 Neoverse-V2 211.57 ns 211.54 ns -0.02% (-0.15% to +0.02%)
f64-inv x86-64 INTEL(R) XEON(R) GOLD 6548N 237.40 ns 237.23 ns -0.04% (-0.31% to -0.02%)
f64-mul arm64 Neoverse-V2 0.56 ns 0.56 ns +0.00% (-0.71% to +0.36%)
f64-mul x86-64 INTEL(R) XEON(R) GOLD 6548N 0.86 ns 0.86 ns +0.00% (-0.12% to +0.23%)
f64-square arm64 Neoverse-V2 0.55 ns 0.55 ns -0.18% (-1.09% to +0.18%)
f64-square x86-64 INTEL(R) XEON(R) GOLD 6548N 1.08 ns 1.08 ns +0.00% (-0.46% to +0.09%)
ntt-forward-22 arm64 Neoverse-V2 3.83 ms 3.82 ms +0.01% (-3.95% to +0.69%)
ntt-forward-22 x86-64 INTEL(R) XEON(R) GOLD 6548N 2.24 ms 2.32 ms +1.62% (-4.54% to +7.14%)
transpose-64bytes arm64 Neoverse-V2 12.00 ns 12.00 ns +0.00% (-0.03% to +0.17%)
transpose-64bytes x86-64 INTEL(R) XEON(R) GOLD 6548N 0.84 ns 0.84 ns +0.24% (-0.24% to +1.79%)
transpose-64x64 arm64 Neoverse-V2 96.46 ns 96.43 ns +0.00% (-0.05% to +0.09%)
transpose-64x64 x86-64 INTEL(R) XEON(R) GOLD 6548N 73.21 ns 73.19 ns -0.01% (-0.04% to +0.10%)

Proof size

benchmark runner CPU base this PR change
aggregate-leanxmss-100-2to1-1thread-first arm64 Neoverse-V2 260,427 B 260,427 B 0 B (+0.00%)
aggregate-leanxmss-100-2to1-1thread-first x86-64 INTEL(R) XEON(R) GOLD 6548N 260,427 B 260,427 B 0 B (+0.00%)
aggregate-leanxmss-100-2to1-1thread-node arm64 Neoverse-V2 259,659 B 259,659 B 0 B (+0.00%)
aggregate-leanxmss-100-2to1-1thread-node x86-64 INTEL(R) XEON(R) GOLD 6548N 259,659 B 259,659 B 0 B (+0.00%)
aggregate-leanxmss-100-2to1-first arm64 Neoverse-V2 260,427 B 260,427 B 0 B (+0.00%)
aggregate-leanxmss-100-2to1-first x86-64 INTEL(R) XEON(R) GOLD 6548N 260,427 B 260,427 B 0 B (+0.00%)
aggregate-leanxmss-100-2to1-node arm64 Neoverse-V2 259,659 B 259,659 B 0 B (+0.00%)
aggregate-leanxmss-100-2to1-node x86-64 INTEL(R) XEON(R) GOLD 6548N 259,659 B 259,659 B 0 B (+0.00%)
aggregate-leanxmss-100-4to1-first arm64 Neoverse-V2 283,331 B 283,331 B 0 B (+0.00%)
aggregate-leanxmss-100-4to1-first x86-64 INTEL(R) XEON(R) GOLD 6548N 283,331 B 283,331 B 0 B (+0.00%)
aggregate-leanxmss-100-4to1-node arm64 Neoverse-V2 285,027 B 285,027 B 0 B (+0.00%)
aggregate-leanxmss-100-4to1-node x86-64 INTEL(R) XEON(R) GOLD 6548N 285,027 B 285,027 B 0 B (+0.00%)
falcon-7 arm64 Neoverse-V2 326,382 B 326,382 B 0 B (+0.00%)
falcon-7 x86-64 INTEL(R) XEON(R) GOLD 6548N 326,382 B 326,382 B 0 B (+0.00%)
fibonacci-asm-2000000 arm64 Neoverse-V2 366,742 B 366,742 B 0 B (+0.00%)
fibonacci-asm-2000000 x86-64 INTEL(R) XEON(R) GOLD 6548N 366,742 B 366,742 B 0 B (+0.00%)
hash-50000 arm64 Neoverse-V2 326,742 B 326,742 B 0 B (+0.00%)
hash-50000 x86-64 INTEL(R) XEON(R) GOLD 6548N 326,742 B 326,742 B 0 B (+0.00%)
leansphincs-26 arm64 Neoverse-V2 319,734 B 319,734 B 0 B (+0.00%)
leansphincs-26 x86-64 INTEL(R) XEON(R) GOLD 6548N 319,734 B 319,734 B 0 B (+0.00%)
leanxmss-100 arm64 Neoverse-V2 307,670 B 307,670 B 0 B (+0.00%)
leanxmss-100 x86-64 INTEL(R) XEON(R) GOLD 6548N 307,670 B 307,670 B 0 B (+0.00%)
leanxmss-100-1thread arm64 Neoverse-V2 307,670 B 307,670 B 0 B (+0.00%)
leanxmss-100-1thread x86-64 INTEL(R) XEON(R) GOLD 6548N 307,670 B 307,670 B 0 B (+0.00%)
shielded-258 arm64 Neoverse-V2 357,614 B 357,614 B 0 B (+0.00%)
shielded-258 x86-64 INTEL(R) XEON(R) GOLD 6548N 357,614 B 357,614 B 0 B (+0.00%)
stateproof-5 arm64 Neoverse-V2 350,614 B 350,614 B 0 B (+0.00%)
stateproof-5 x86-64 INTEL(R) XEON(R) GOLD 6548N 350,614 B 350,614 B 0 B (+0.00%)

Peak memory

benchmark runner CPU base this PR change
aggregate-leanxmss-100-2to1-1thread-first arm64 Neoverse-V2 1780.59 MiB 1780.61 MiB +0.00% (+0.00% to +0.00%)
aggregate-leanxmss-100-2to1-1thread-first x86-64 INTEL(R) XEON(R) GOLD 6548N 1174.59 MiB 1174.35 MiB -0.02% (-0.19% to +0.19%)
aggregate-leanxmss-100-2to1-1thread-node arm64 Neoverse-V2 1780.84 MiB 1780.86 MiB +0.00% (+0.00% to +0.00%)
aggregate-leanxmss-100-2to1-1thread-node x86-64 INTEL(R) XEON(R) GOLD 6548N 1176.37 MiB 1174.35 MiB -0.15% (-0.36% to +0.19%)
aggregate-leanxmss-100-2to1-first arm64 Neoverse-V2 1956.67 MiB 1956.13 MiB +0.03% (-0.50% to +0.37%)
aggregate-leanxmss-100-2to1-first x86-64 INTEL(R) XEON(R) GOLD 6548N 1301.83 MiB 1297.68 MiB -0.32% (-0.74% to +0.20%)
aggregate-leanxmss-100-2to1-node arm64 Neoverse-V2 1994.48 MiB 1986.50 MiB -0.37% (-0.85% to +0.29%)
aggregate-leanxmss-100-2to1-node x86-64 INTEL(R) XEON(R) GOLD 6548N 1369.27 MiB 1369.38 MiB -0.33% (-1.23% to +1.01%)
aggregate-leanxmss-100-4to1-first arm64 Neoverse-V2 2461.53 MiB 2461.69 MiB +0.08% (-0.51% to +0.69%)
aggregate-leanxmss-100-4to1-first x86-64 INTEL(R) XEON(R) GOLD 6548N 1321.12 MiB 1319.80 MiB -0.12% (-1.05% to +0.49%)
aggregate-leanxmss-100-4to1-node arm64 Neoverse-V2 2489.03 MiB 2496.47 MiB +0.36% (-0.76% to +0.53%)
aggregate-leanxmss-100-4to1-node x86-64 INTEL(R) XEON(R) GOLD 6548N 1392.39 MiB 1390.93 MiB -0.10% (-0.48% to +0.37%)
falcon-7 arm64 Neoverse-V2 5811.73 MiB 5811.56 MiB +0.00% (-0.11% to +0.07%)
falcon-7 x86-64 INTEL(R) XEON(R) GOLD 6548N 3207.58 MiB 3210.75 MiB +0.19% (-0.54% to +0.31%)
fibonacci-asm-2000000 arm64 Neoverse-V2 9072.33 MiB 9069.40 MiB -0.01% (-0.05% to +0.09%)
fibonacci-asm-2000000 x86-64 INTEL(R) XEON(R) GOLD 6548N 4233.61 MiB 4234.68 MiB +0.03% (-0.05% to +0.08%)
hash-50000 arm64 Neoverse-V2 5755.06 MiB 5753.04 MiB -0.04% (-0.07% to -0.00%)
hash-50000 x86-64 INTEL(R) XEON(R) GOLD 6548N 3045.71 MiB 3049.19 MiB +0.11% (-0.39% to +0.35%)
leansphincs-26 arm64 Neoverse-V2 1931.27 MiB 1928.67 MiB -0.13% (-0.37% to +0.01%)
leansphincs-26 x86-64 INTEL(R) XEON(R) GOLD 6548N 1023.63 MiB 1025.64 MiB +0.20% (-0.02% to +0.22%)
leanxmss-100 arm64 Neoverse-V2 1721.34 MiB 1721.84 MiB -0.18% (-0.23% to +0.36%)
leanxmss-100 x86-64 INTEL(R) XEON(R) GOLD 6548N 881.29 MiB 881.25 MiB +0.01% (-0.23% to +0.20%)
leanxmss-100-1thread arm64 Neoverse-V2 1600.43 MiB 1600.62 MiB +0.01% (+0.00% to +0.64%)
leanxmss-100-1thread x86-64 INTEL(R) XEON(R) GOLD 6548N 989.37 MiB 990.37 MiB +0.10% (-0.03% to +0.20%)
shielded-258 arm64 Neoverse-V2 8357.42 MiB 8353.30 MiB +0.17% (-0.65% to +0.82%)
shielded-258 x86-64 INTEL(R) XEON(R) GOLD 6548N 4269.75 MiB 4269.22 MiB -0.06% (-0.15% to +0.22%)
stateproof-5 arm64 Neoverse-V2 12478.52 MiB 12475.22 MiB -0.01% (-0.08% to +0.02%)
stateproof-5 x86-64 INTEL(R) XEON(R) GOLD 6548N 6176.85 MiB 6177.06 MiB -0.00% (-0.01% to +0.09%)

allocations

benchmark runner CPU base this PR change
aggregate-leanxmss-100-2to1-1thread-first arm64 Neoverse-V2 23.34 µs 23.34 µs +0.00% (+0.00% to +0.00%)
aggregate-leanxmss-100-2to1-1thread-first x86-64 INTEL(R) XEON(R) GOLD 6548N 23.39 µs 23.39 µs +0.00% (+0.00% to +0.00%)
aggregate-leanxmss-100-2to1-1thread-node arm64 Neoverse-V2 27.23 µs 27.23 µs +0.00% (+0.00% to +0.00%)
aggregate-leanxmss-100-2to1-1thread-node x86-64 INTEL(R) XEON(R) GOLD 6548N 27.28 µs 27.28 µs +0.00% (+0.00% to +0.00%)
aggregate-leanxmss-100-2to1-first arm64 Neoverse-V2 23.79 µs 23.79 µs +0.00% (-0.01% to +0.07%)
aggregate-leanxmss-100-2to1-first x86-64 INTEL(R) XEON(R) GOLD 6548N 24.25 µs 24.25 µs +0.00% (-0.01% to +0.01%)
aggregate-leanxmss-100-2to1-node arm64 Neoverse-V2 27.68 µs 27.68 µs +0.00% (+0.00% to +0.01%)
aggregate-leanxmss-100-2to1-node x86-64 INTEL(R) XEON(R) GOLD 6548N 28.14 µs 28.14 µs +0.00% (+0.00% to +0.00%)
aggregate-leanxmss-100-4to1-first arm64 Neoverse-V2 42.36 µs 42.36 µs +0.00% (+0.00% to +0.05%)
aggregate-leanxmss-100-4to1-first x86-64 INTEL(R) XEON(R) GOLD 6548N 42.93 µs 42.93 µs +0.01% (+0.00% to +0.02%)
aggregate-leanxmss-100-4to1-node arm64 Neoverse-V2 50.27 µs 50.27 µs +0.00% (+0.00% to +0.00%)
aggregate-leanxmss-100-4to1-node x86-64 INTEL(R) XEON(R) GOLD 6548N 50.84 µs 50.84 µs +0.00% (-0.01% to +0.01%)
falcon-7 arm64 Neoverse-V2 15.90 µs 15.90 µs +0.00% (-0.02% to +0.01%)
falcon-7 x86-64 INTEL(R) XEON(R) GOLD 6548N 17.57 µs 17.57 µs +0.01% (-0.61% to +0.05%)
fibonacci-asm-2000000 arm64 Neoverse-V2 11.51 µs 11.51 µs -0.02% (-0.08% to +0.00%)
fibonacci-asm-2000000 x86-64 INTEL(R) XEON(R) GOLD 6548N 12.37 µs 12.37 µs +0.01% (-0.01% to +0.01%)
hash-50000 arm64 Neoverse-V2 16.89 µs 16.89 µs +0.00% (-0.31% to +0.09%)
hash-50000 x86-64 INTEL(R) XEON(R) GOLD 6548N 18.74 µs 18.73 µs -0.05% (-0.13% to +0.02%)
leansphincs-26 arm64 Neoverse-V2 25.58 µs 25.58 µs +0.00% (+0.00% to +0.04%)
leansphincs-26 x86-64 INTEL(R) XEON(R) GOLD 6548N 27.14 µs 27.14 µs -0.00% (-0.01% to +0.02%)
leanxmss-100 arm64 Neoverse-V2 26.21 µs 26.21 µs +0.00% (+0.00% to +0.00%)
leanxmss-100 x86-64 INTEL(R) XEON(R) GOLD 6548N 27.71 µs 27.72 µs +0.03% (-0.01% to +0.13%)
leanxmss-100-1thread arm64 Neoverse-V2 25.05 µs 25.05 µs +0.00% (+0.00% to +0.00%)
leanxmss-100-1thread x86-64 INTEL(R) XEON(R) GOLD 6548N 25.50 µs 25.50 µs +0.00% (+0.00% to +0.00%)
shielded-258 arm64 Neoverse-V2 45.27 µs 45.27 µs +0.00% (+0.00% to +0.00%)
shielded-258 x86-64 INTEL(R) XEON(R) GOLD 6548N 47.28 µs 47.28 µs +0.01% (-0.01% to +0.02%)
stateproof-5 arm64 Neoverse-V2 19.36 µs 19.35 µs -0.04% (-0.05% to +0.01%)
stateproof-5 x86-64 INTEL(R) XEON(R) GOLD 6548N 21.27 µs 21.27 µs +0.00% (-0.07% to +0.07%)

heap-peak

benchmark runner CPU base this PR change
aggregate-leanxmss-100-2to1-1thread-first arm64 Neoverse-V2 738.67 ms 738.67 ms +0.00% (+0.00% to +0.00%)
aggregate-leanxmss-100-2to1-1thread-first x86-64 INTEL(R) XEON(R) GOLD 6548N 373.29 ms 373.29 ms +0.00% (+0.00% to +0.00%)
aggregate-leanxmss-100-2to1-1thread-node arm64 Neoverse-V2 738.32 ms 738.32 ms +0.00% (+0.00% to +0.00%)
aggregate-leanxmss-100-2to1-1thread-node x86-64 INTEL(R) XEON(R) GOLD 6548N 372.94 ms 372.94 ms +0.00% (+0.00% to +0.00%)
aggregate-leanxmss-100-2to1-first arm64 Neoverse-V2 738.83 ms 738.83 ms +0.00% (-0.02% to +0.07%)
aggregate-leanxmss-100-2to1-first x86-64 INTEL(R) XEON(R) GOLD 6548N 373.88 ms 373.94 ms +0.02% (-0.04% to +0.03%)
aggregate-leanxmss-100-2to1-node arm64 Neoverse-V2 738.01 ms 738.02 ms +0.01% (+0.00% to +0.02%)
aggregate-leanxmss-100-2to1-node x86-64 INTEL(R) XEON(R) GOLD 6548N 373.61 ms 373.67 ms +0.01% (-0.01% to +0.04%)
aggregate-leanxmss-100-4to1-first arm64 Neoverse-V2 1.48 s 1.48 s -0.00% (-0.01% to +0.01%)
aggregate-leanxmss-100-4to1-first x86-64 INTEL(R) XEON(R) GOLD 6548N 746.82 ms 746.98 ms +0.03% (-0.05% to +0.05%)
aggregate-leanxmss-100-4to1-node arm64 Neoverse-V2 1.48 s 1.48 s +0.01% (+0.00% to +0.01%)
aggregate-leanxmss-100-4to1-node x86-64 INTEL(R) XEON(R) GOLD 6548N 746.43 ms 746.41 ms +0.01% (-0.02% to +0.05%)
falcon-7 arm64 Neoverse-V2 5.43 s 5.43 s -0.00% (-0.00% to +0.00%)
falcon-7 x86-64 INTEL(R) XEON(R) GOLD 6548N 2.42 s 2.42 s +0.00% (-0.01% to +0.01%)
fibonacci-asm-2000000 arm64 Neoverse-V2 8.70 s 8.70 s +0.00% (-0.00% to +0.00%)
fibonacci-asm-2000000 x86-64 INTEL(R) XEON(R) GOLD 6548N 3.95 s 3.95 s +0.00% (-0.00% to +0.00%)
hash-50000 arm64 Neoverse-V2 5.45 s 5.45 s -0.00% (-0.00% to +0.00%)
hash-50000 x86-64 INTEL(R) XEON(R) GOLD 6548N 2.30 s 2.30 s -0.00% (-0.01% to +0.00%)
leansphincs-26 arm64 Neoverse-V2 1.72 s 1.72 s -0.00% (-0.01% to -0.00%)
leansphincs-26 x86-64 INTEL(R) XEON(R) GOLD 6548N 776.33 ms 776.34 ms +0.00% (-0.00% to +0.00%)
leanxmss-100 arm64 Neoverse-V2 1.49 s 1.49 s -0.00% (-0.02% to +0.01%)
leanxmss-100 x86-64 INTEL(R) XEON(R) GOLD 6548N 666.94 ms 666.94 ms +0.00% (-0.00% to +0.01%)
leanxmss-100-1thread arm64 Neoverse-V2 1.49 s 1.49 s +0.00% (+0.00% to +0.00%)
leanxmss-100-1thread x86-64 INTEL(R) XEON(R) GOLD 6548N 667.32 ms 667.32 ms +0.00% (+0.00% to +0.00%)
shielded-258 arm64 Neoverse-V2 7.89 s 7.89 s -0.00% (-0.00% to +0.00%)
shielded-258 x86-64 INTEL(R) XEON(R) GOLD 6548N 3.66 s 3.66 s -0.00% (-0.00% to +0.00%)
stateproof-5 arm64 Neoverse-V2 12.44 s 12.44 s +0.00% (-0.00% to +0.00%)
stateproof-5 x86-64 INTEL(R) XEON(R) GOLD 6548N 5.82 s 5.82 s +0.00% (-0.00% to +0.00%)

The first run on size-attester7870-arm64 reports an Arm Neoverse-V2 with
16 vCPUs and 64 GB, which bench.yml's header and AGENTS.md now state as
they do for the x86-64 runner.
@kevaundray
kevaundray merged commit 651735f into leanEthereum:riscv-exploration Oct 7, 2026
48 checks passed
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.

2 participants