Skip to content

ci: run the x86-64 benchmarks on the size-attester7870-x64 runner - #527

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

kevaundray merged 4 commits into
leanEthereum:riscv-explorationfrom
kevaundray:kw/bench-attester-runner

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 x86-64 bench testbed from ubuntu-latest to the self-hosted runner size-attester7870-x64, so x86 benchmarks run on a fixed, known machine.

The new machine adds three things: a faster CPU, more cores (32 vCPUs against the 4 of GitHub's runner) and the native build (the AVX-512, VPCLMULQDQ and GFNI paths the haswell pin disabled). The single-thread cases (-1thread) and the kernels' per-operation times remove the core count, so they isolate per-core speed and the code paths. Times are the median with the range of the runs in brackets; speedup is old median over new median.

benchmark old: EPYC 7763, haswell new: Xeon Gold 6548N, native speedup (old / new)
fibonacci-asm-2000000 7.901 s (7.893 s to 7.927 s) 473.30 ms (471.23 ms to 480.65 ms) 16.69x
hash-50000 4.761 s (4.754 s to 4.851 s) 312.32 ms (311.03 ms to 316.21 ms) 15.24x
leanxmss-100 1.340 s (1.339 s to 1.341 s) 116.28 ms (115.23 ms to 117.35 ms) 11.53x
leanxmss-100-1thread 2.688 s (2.682 s to 2.692 s) 1.112 s (1.099 s to 1.134 s) 2.42x
leansphincs-26 1.528 s (1.525 s to 1.615 s) 129.41 ms (128.30 ms to 132.78 ms) 11.80x
falcon-7 5.057 s (5.052 s to 5.062 s) 327.21 ms (323.81 ms to 328.82 ms) 15.45x
shielded-258 6.691 s (6.675 s to 6.705 s) 476.23 ms (474.12 ms to 483.07 ms) 14.05x
aggregate-leanxmss-100-2to1-first 731.45 ms (727.98 ms to 733.84 ms) 87.61 ms (86.89 ms to 89.98 ms) 8.35x
aggregate-leanxmss-100-2to1-node 772.97 ms (770.34 ms to 776.51 ms) 91.34 ms (89.96 ms to 92.39 ms) 8.46x
aggregate-leanxmss-100-4to1-first 1.451 s (1.448 s to 1.461 s) 153.90 ms (150.91 ms to 154.76 ms) 9.43x
aggregate-leanxmss-100-4to1-node 1.597 s (1.592 s to 1.682 s) 163.70 ms (162.76 ms to 165.73 ms) 9.76x
aggregate-leanxmss-100-2to1-1thread-first 1.452 s (1.446 s to 1.463 s) 612.81 ms (606.73 ms to 625.42 ms) 2.37x
aggregate-leanxmss-100-2to1-1thread-node 1.535 s (1.527 s to 1.546 s) 644.62 ms (642.08 ms to 645.34 ms) 2.38x
flock-hash-batch-262144 8.000 s (7.998 s to 8.048 s) 339.84 ms (337.93 ms to 401.44 ms) 23.54x
flock-add-wrapping-batch-262144 130.69 ms (129.67 ms to 132.85 ms) 9.14 ms (8.27 ms to 12.66 ms) 14.29x
flock-mul-widening-batch-262144 3.732 s (3.723 s to 3.750 s) 146.78 ms (144.69 ms to 157.67 ms) 25.43x
flock-mul-wrapping-batch-262144 1.960 s (1.955 s to 1.982 s) 79.24 ms (76.33 ms to 84.29 ms) 24.74x
ntt-forward-22 66.57 ms (66.39 ms to 69.12 ms) 2.24 ms (2.19 ms to 2.45 ms) 29.70x
pcs-commit-22 82.03 ms (81.92 ms to 82.56 ms) 3.99 ms (3.87 ms to 4.21 ms) 20.56x
pcs-open-22 104.87 ms (103.59 ms to 125.70 ms) 15.58 ms (15.09 ms to 16.73 ms) 6.73x
blake2s-batch 11.18 ns (11.16 ns to 14.07 ns) 0.81 ns (0.80 ns to 0.81 ns) 13.89x
f192-inv 271.52 ns (271.45 ns to 271.79 ns) 266.48 ns (265.89 ns to 270.54 ns) 1.02x
f192-mul-latency 8.15 ns (8.14 ns to 8.16 ns) 7.58 ns (7.54 ns to 7.64 ns) 1.08x
f192-mul-throughput 6.58 ns (6.58 ns to 6.90 ns) 4.46 ns (4.44 ns to 4.53 ns) 1.47x
f192-mul4-latency 27.06 ns (26.54 ns to 28.41 ns) 10.18 ns (10.10 ns to 10.32 ns) 2.66x
f192-mul4-throughput 29.80 ns (28.61 ns to 31.03 ns) 15.70 ns (15.63 ns to 17.52 ns) 1.90x
f192-square 4.69 ns (4.68 ns to 4.86 ns) 3.35 ns (3.33 ns to 3.45 ns) 1.40x
f64-inv 243.28 ns (243.15 ns to 243.82 ns) 238.23 ns (237.64 ns to 246.53 ns) 1.02x
f64-mul 1.90 ns (1.90 ns to 1.93 ns) 0.87 ns (0.86 ns to 0.91 ns) 2.20x
f64-square 1.62 ns (1.62 ns to 1.64 ns) 1.08 ns (1.08 ns to 1.12 ns) 1.49x
transpose-64bytes 6.02 ns (6.01 ns to 6.02 ns) 0.85 ns (0.84 ns to 0.86 ns) 7.12x
transpose-64x64 99.38 ns (99.26 ns to 100.66 ns) 73.53 ns (73.38 ns to 74.97 ns) 1.35x
Prover stages of a few cases

leanxmss-100

measure old new speedup
latency 1.340 s (1.339 s to 1.341 s) 116.28 ms (115.23 ms to 117.35 ms) 11.53x
build-witness 37.57 ms (37.33 ms to 37.67 ms) 6.39 ms (6.32 ms to 6.49 ms) 5.88x
commit 228.29 ms (227.99 ms to 229.14 ms) 11.67 ms (11.56 ms to 11.72 ms) 19.55x
prove-bus 108.25 ms (107.97 ms to 108.42 ms) 11.19 ms (11.05 ms to 11.34 ms) 9.67x
flock-reductions 525.92 ms (525.08 ms to 528.50 ms) 37.21 ms (36.65 ms to 37.39 ms) 14.13x
pcs-open 413.83 ms (413.29 ms to 415.41 ms) 31.91 ms (31.69 ms to 32.81 ms) 12.97x
verify 5.09 ms (5.08 ms to 5.11 ms) 4.48 ms (4.43 ms to 4.57 ms) 1.14x

leanxmss-100-1thread

measure old new speedup
latency 2.688 s (2.682 s to 2.692 s) 1.112 s (1.099 s to 1.134 s) 2.42x
build-witness 83.14 ms (82.82 ms to 83.90 ms) 81.69 ms (80.42 ms to 87.36 ms) 1.02x
commit 487.37 ms (485.76 ms to 502.88 ms) 198.24 ms (196.35 ms to 204.54 ms) 2.46x
prove-bus 210.07 ms (209.63 ms to 211.15 ms) 93.05 ms (91.09 ms to 96.43 ms) 2.26x
flock-reductions 1.036 s (1.032 s to 1.040 s) 327.15 ms (323.75 ms to 333.09 ms) 3.17x
pcs-open 833.21 ms (829.18 ms to 835.45 ms) 375.54 ms (371.15 ms to 382.59 ms) 2.22x
verify 5.15 ms (5.13 ms to 5.17 ms) 4.50 ms (4.42 ms to 4.92 ms) 1.14x

fibonacci-asm-2000000

measure old new speedup
latency 7.901 s (7.893 s to 7.927 s) 473.30 ms (471.23 ms to 480.65 ms) 16.69x
build-witness 252.79 ms (251.67 ms to 255.03 ms) 34.72 ms (34.49 ms to 35.01 ms) 7.28x
commit 1.446 s (1.444 s to 1.467 s) 62.74 ms (62.02 ms to 63.37 ms) 23.04x
prove-bus 633.61 ms (633.22 ms to 635.36 ms) 33.64 ms (33.49 ms to 34.01 ms) 18.84x
flock-reductions 3.301 s (3.293 s to 3.306 s) 120.39 ms (120.07 ms to 122.40 ms) 27.42x
pcs-open 2.111 s (2.107 s to 2.116 s) 135.83 ms (135.32 ms to 136.50 ms) 15.54x
verify 5.20 ms (5.19 ms to 5.22 ms) 4.48 ms (4.45 ms to 4.56 ms) 1.16x

shielded-258

measure old new speedup
latency 6.691 s (6.675 s to 6.705 s) 476.23 ms (474.12 ms to 483.07 ms) 14.05x
build-witness 207.75 ms (207.52 ms to 215.23 ms) 34.82 ms (34.56 ms to 36.48 ms) 5.97x
commit 1.305 s (1.303 s to 1.309 s) 60.00 ms (59.53 ms to 60.98 ms) 21.74x
prove-bus 623.64 ms (622.71 ms to 626.70 ms) 40.03 ms (39.45 ms to 40.54 ms) 15.58x
flock-reductions 2.446 s (2.439 s to 2.451 s) 114.74 ms (113.80 ms to 115.50 ms) 21.32x
pcs-open 1.958 s (1.955 s to 1.980 s) 135.12 ms (133.86 ms to 139.25 ms) 14.49x
verify 5.38 ms (5.37 ms to 5.40 ms) 4.96 ms (4.88 ms to 5.11 ms) 1.08x

This PR's own comparison. Base and PR are the same proving code here, so the bench comment's deltas are noise: it flags no proving time, and on x86 it shows only leansphincs-26's verifying time at +1.45% (+0.46% to +2.09%) and ntt-forward-22 at -5.01% (-8.66% to -1.37%).

The base side also runs on the new runner, since ab.sh builds base and head in the same job, so comparisons stay fair from the first run.

The x86-64 bench testbed moves from ubuntu-latest to the self-hosted runner
size-attester7870-x64 (an Intel Xeon Gold 6548N, 32 vCPUs, 64 GB). Base and
PR build and run on that one machine, so the testbed is built for
target-cpu=native instead of haswell and measures the AVX-512, VPCLMULQDQ and
GFNI arms. A new step prints the CPU and those flags, and the rust-cache key
includes the CPU model 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-latest built for haswell. arm64 is unchanged.
A workflow_dispatch trigger with optional base and head inputs runs the
same per-testbed comparison: head defaults to the branch the run is
dispatched on, base to the head's first parent. scripts/ab.sh already
takes --base in --ci mode; the workflow fetches the base ref and passes
its commit. A dispatch run leaves artifacts only: bench-comment.yml
posts for pull_request runs alone.
eth-act/zkevm-benchmark-runs, whose jobs these ghr runners do pick up,
requests [size-attester7870-x64, self-hosted-ghr]; ask for the same set.
@github-actions

github-actions Bot commented Oct 7, 2026

Copy link
Copy Markdown

Benchmarks: base against this PR, on one runner

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

Prover stages
benchmark runner base this PR change
aggregate-leanxmss-100-2to1-node arm64 452.74 ms 453.71 ms -0.13% (-10.47% to +0.93%)
 ↳ build-circuit 13.59 ms 13.57 ms -0.84% (-2.09% to +0.28%)
 ↳ prove-recursion 411.31 ms 410.21 ms -0.06% (-11.39% to +1.04%)
 ↳ reduce-claims 17.13 ms 17.21 ms +0.65% (-1.17% to +14.48%)
 ↳ reduce-in-rows 1.98 ms 2.00 ms +1.02% (+0.38% to +1.32%)
falcon-7 arm64 2.85 s 2.85 s +0.04% (-0.02% to +2.12%)
 ↳ build-witness 91.38 ms 91.02 ms -0.15% (-0.43% to +32.93%)
 ↳ commit 519.93 ms 519.59 ms +0.09% (-0.46% to +1.29%)
 ↳ execute-program 35.82 ms 35.26 ms -1.87% (-3.04% to -0.37%)
 ↳ flock-reductions 916.02 ms 918.73 ms +0.28% (-0.27% to +0.80%)
 ↳ pcs-open 1.08 s 1.08 s +0.19% (+0.12% to +1.46%)
 ↳ prove-bus 181.18 ms 181.65 ms +0.29% (+0.04% to +0.71%)
 ↳ prove-constraints 24.74 ms 24.50 ms -0.64% (-2.14% to +0.82%)
fibonacci-asm-2000000 arm64 4.42 s 4.39 s -0.71% (-0.80% to -0.33%)
 ↳ build-witness 135.60 ms 136.05 ms +0.38% (-0.63% to +7.17%)
 ↳ commit 816.22 ms 814.41 ms +0.09% (-0.79% to +1.09%)
 ↳ execute-program 66.09 ms 66.38 ms +0.30% (-1.21% to +3.48%)
 ↳ flock-reductions 1.56 s 1.56 s -0.03% (-0.97% to +0.44%)
 ↳ pcs-open 1.49 s 1.46 s -1.67% (-2.25% to -1.19%)
 ↳ prove-bus 314.11 ms 311.37 ms -0.67% (-1.39% to +0.22%)
 ↳ prove-constraints 40.93 ms 40.97 ms +0.22% (-0.91% to +0.94%)
leansphincs-26 x86-64 129.36 ms 129.45 ms +0.59% (-2.52% to +1.30%)
 ↳ build-witness 7.66 ms 7.70 ms +0.03% (-0.54% to +6.44%)
 ↳ commit 13.36 ms 13.13 ms -1.96% (-3.34% to +4.33%)
 ↳ execute-program 15.10 ms 15.20 ms +0.55% (-0.69% to +1.99%)
 ↳ flock-reductions 39.52 ms 39.36 ms -0.43% (-7.20% to +1.83%)
 ↳ pcs-open 35.79 ms 35.80 ms +0.39% (-2.05% to +0.83%)
 ↳ prove-bus 12.74 ms 12.94 ms +1.32% (+0.10% to +8.22%)
 ↳ prove-constraints 5.04 ms 5.03 ms -0.14% (-1.05% to +1.74%)
leanxmss-100 x86-64 116.65 ms 116.06 ms -0.51% (-1.10% to -0.27%)
 ↳ build-witness 6.38 ms 6.39 ms -0.12% (-1.10% to +1.28%)
 ↳ commit 11.61 ms 11.68 ms +0.27% (-0.10% to +1.01%)
 ↳ execute-program 13.27 ms 13.07 ms -0.34% (-3.89% to +1.82%)
 ↳ flock-reductions 37.24 ms 37.19 ms -0.54% (-1.52% to +0.71%)
 ↳ pcs-open 32.06 ms 31.88 ms -0.82% (-2.82% to +0.08%)
 ↳ prove-bus 11.30 ms 11.10 ms -1.22% (-2.15% to -0.76%)
 ↳ prove-constraints 4.66 ms 4.64 ms -0.55% (-3.00% to +0.63%)
leanxmss-100-1thread arm64 2.85 s 2.85 s +0.12% (-1.61% to +0.51%)
 ↳ build-witness 74.35 ms 74.24 ms -0.18% (-0.48% to +0.33%)
 ↳ commit 496.67 ms 497.19 ms +0.14% (-0.34% to +0.32%)
 ↳ execute-program 11.30 ms 11.23 ms -0.59% (-3.43% to +1.38%)
 ↳ flock-reductions 945.94 ms 948.76 ms +0.32% (-0.19% to +1.26%)
 ↳ pcs-open 1.10 s 1.10 s +0.31% (-4.55% to +1.41%)
 ↳ prove-bus 203.26 ms 203.45 ms -0.03% (-1.00% to +0.38%)
 ↳ prove-constraints 22.23 ms 21.83 ms -1.81% (-2.90% to -0.35%)

Verifying time

benchmark runner base this PR change
leansphincs-26 x86-64 4.53 ms 4.61 ms +1.45% (+0.46% to +2.09%)

Time per operation

benchmark runner base this PR change
ntt-forward-22 x86-64 2.34 ms 2.22 ms -5.01% (-8.66% to -1.37%)
Every result

Proving time

benchmark runner CPU base this PR change
aggregate-leanxmss-100-2to1-1thread-first arm64 Neoverse-N2 1.50 s 1.50 s -0.35% (-0.92% to +1.09%)
aggregate-leanxmss-100-2to1-1thread-first x86-64 INTEL(R) XEON(R) GOLD 6548N 612.53 ms 613.10 ms +0.09% (-1.71% to +2.43%)
aggregate-leanxmss-100-2to1-1thread-node arm64 Neoverse-N2 1.58 s 1.58 s -0.00% (-0.45% to +0.64%)
aggregate-leanxmss-100-2to1-1thread-node x86-64 INTEL(R) XEON(R) GOLD 6548N 642.50 ms 644.90 ms +0.05% (-0.04% to +0.37%)
aggregate-leanxmss-100-2to1-first arm64 Neoverse-N2 432.04 ms 435.00 ms +0.25% (-0.75% to +2.05%)
aggregate-leanxmss-100-2to1-first x86-64 INTEL(R) XEON(R) GOLD 6548N 87.78 ms 87.57 ms -0.24% (-2.61% to +2.48%)
aggregate-leanxmss-100-2to1-node arm64 Neoverse-N2 452.74 ms 453.71 ms -0.13% (-10.47% to +0.93%)
aggregate-leanxmss-100-2to1-node x86-64 INTEL(R) XEON(R) GOLD 6548N 92.02 ms 90.85 ms -0.94% (-2.59% to +0.82%)
aggregate-leanxmss-100-4to1-first arm64 Neoverse-N2 832.09 ms 832.15 ms -0.02% (-0.12% to +1.14%)
aggregate-leanxmss-100-4to1-first x86-64 INTEL(R) XEON(R) GOLD 6548N 152.53 ms 153.91 ms +0.91% (-0.64% to +2.10%)
aggregate-leanxmss-100-4to1-node arm64 Neoverse-N2 904.77 ms 904.33 ms -0.01% (-5.27% to +0.41%)
aggregate-leanxmss-100-4to1-node x86-64 INTEL(R) XEON(R) GOLD 6548N 163.67 ms 164.15 ms -0.03% (-0.27% to +0.85%)
falcon-7 arm64 Neoverse-N2 2.85 s 2.85 s +0.04% (-0.02% to +2.12%)
falcon-7 x86-64 INTEL(R) XEON(R) GOLD 6548N 327.19 ms 328.03 ms +0.21% (-0.34% to +0.50%)
fibonacci-asm-2000000 arm64 Neoverse-N2 4.42 s 4.39 s -0.71% (-0.80% to -0.33%)
fibonacci-asm-2000000 x86-64 INTEL(R) XEON(R) GOLD 6548N 474.87 ms 471.81 ms -0.60% (-1.85% to +0.01%)
flock-add-wrapping-batch-262144 arm64 Neoverse-N2 75.10 ms 74.84 ms +0.02% (-2.11% to +0.35%)
flock-add-wrapping-batch-262144 x86-64 INTEL(R) XEON(R) GOLD 6548N 9.61 ms 9.05 ms -1.85% (-34.67% to +4.64%)
flock-hash-batch-262144 arm64 Neoverse-N2 4.43 s 4.43 s -0.36% (-2.47% to +0.55%)
flock-hash-batch-262144 x86-64 INTEL(R) XEON(R) GOLD 6548N 340.71 ms 339.34 ms -0.51% (-15.82% to +0.12%)
flock-mul-widening-batch-262144 arm64 Neoverse-N2 1.96 s 1.96 s +0.01% (-0.32% to +0.34%)
flock-mul-widening-batch-262144 x86-64 INTEL(R) XEON(R) GOLD 6548N 145.54 ms 147.27 ms +1.19% (-6.93% to +1.72%)
flock-mul-wrapping-batch-262144 arm64 Neoverse-N2 1.06 s 1.06 s +0.01% (-2.32% to +0.40%)
flock-mul-wrapping-batch-262144 x86-64 INTEL(R) XEON(R) GOLD 6548N 79.54 ms 79.05 ms -0.79% (-9.43% to +0.45%)
hash-50000 arm64 Neoverse-N2 2.68 s 2.68 s -0.66% (-1.87% to -0.05%)
hash-50000 x86-64 INTEL(R) XEON(R) GOLD 6548N 312.80 ms 311.94 ms -0.52% (-0.90% to -0.01%)
leansphincs-26 arm64 Neoverse-N2 862.34 ms 861.98 ms -0.05% (-0.20% to -0.00%)
leansphincs-26 x86-64 INTEL(R) XEON(R) GOLD 6548N 129.36 ms 129.45 ms +0.59% (-2.52% to +1.30%)
leanxmss-100 arm64 Neoverse-N2 774.89 ms 775.37 ms +0.38% (-2.19% to +6.14%)
leanxmss-100 x86-64 INTEL(R) XEON(R) GOLD 6548N 116.65 ms 116.06 ms -0.51% (-1.10% to -0.27%)
leanxmss-100-1thread arm64 Neoverse-N2 2.85 s 2.85 s +0.12% (-1.61% to +0.51%)
leanxmss-100-1thread x86-64 INTEL(R) XEON(R) GOLD 6548N 1.11 s 1.11 s +0.05% (-3.06% to +0.88%)
pcs-commit-22 arm64 Neoverse-N2 45.01 ms 44.81 ms -0.53% (-1.77% to +0.55%)
pcs-commit-22 x86-64 INTEL(R) XEON(R) GOLD 6548N 4.07 ms 3.88 ms -4.55% (-7.81% to +0.28%)
pcs-open-22 arm64 Neoverse-N2 60.21 ms 59.50 ms -1.18% (-9.82% to +1.42%)
pcs-open-22 x86-64 INTEL(R) XEON(R) GOLD 6548N 15.66 ms 15.27 ms +0.43% (-9.83% to +1.71%)
shielded-258 arm64 Neoverse-N2 3.78 s 3.78 s +0.00% (-1.06% to +0.11%)
shielded-258 x86-64 INTEL(R) XEON(R) GOLD 6548N 476.47 ms 475.99 ms -0.10% (-0.63% to +0.31%)
stateproof-5 arm64 Neoverse-N2 6.24 s 6.25 s +0.15% (-0.24% to +0.42%)
stateproof-5 x86-64 INTEL(R) XEON(R) GOLD 6548N 712.88 ms 708.03 ms -0.48% (-1.74% to +1.32%)
Prover stages
benchmark runner CPU base this PR change
aggregate-leanxmss-100-2to1-1thread-first arm64 Neoverse-N2 1.50 s 1.50 s -0.35% (-0.92% to +1.09%)
 ↳ build-circuit 16.85 ms 16.85 ms -0.23% (-1.04% to +1.45%)
 ↳ prove-recursion 1.45 s 1.45 s -0.37% (-0.93% to +1.10%)
 ↳ reduce-claims 26.47 ms 26.48 ms +0.03% (-0.35% to +1.52%)
 ↳ reduce-in-rows 2.09 ms 2.03 ms +1.58% (-4.75% to +1.90%)
 ↳ verify 8.93 ms 8.89 ms +0.07% (-1.28% to +1.39%)
aggregate-leanxmss-100-2to1-1thread-first x86-64 INTEL(R) XEON(R) GOLD 6548N 612.53 ms 613.10 ms +0.09% (-1.71% to +2.43%)
 ↳ build-circuit 15.42 ms 15.35 ms -0.80% (-4.53% to +3.25%)
 ↳ prove-recursion 569.14 ms 570.12 ms +0.17% (-1.71% to +2.43%)
 ↳ reduce-claims 18.48 ms 18.49 ms -0.21% (-0.55% to +2.91%)
 ↳ reduce-in-rows 1.65 ms 1.63 ms -3.03% (-4.08% to +4.37%)
 ↳ verify 7.82 ms 7.83 ms +0.36% (-1.67% to +0.58%)
aggregate-leanxmss-100-2to1-1thread-node arm64 Neoverse-N2 1.58 s 1.58 s -0.00% (-0.45% to +0.64%)
 ↳ build-circuit 15.01 ms 15.04 ms +0.08% (-1.19% to +1.12%)
 ↳ prove-recursion 1.51 s 1.50 s -0.05% (-0.47% to +0.64%)
 ↳ reduce-claims 49.40 ms 49.68 ms +0.85% (-0.35% to +1.35%)
 ↳ reduce-in-rows 1.86 ms 1.87 ms -0.14% (-0.96% to +4.02%)
aggregate-leanxmss-100-2to1-1thread-node x86-64 INTEL(R) XEON(R) GOLD 6548N 642.50 ms 644.90 ms +0.05% (-0.04% to +0.37%)
 ↳ build-circuit 16.25 ms 16.02 ms -0.71% (-2.33% to +2.06%)
 ↳ prove-recursion 582.94 ms 584.96 ms +0.08% (+0.03% to +0.42%)
 ↳ reduce-claims 33.92 ms 33.80 ms -0.31% (-1.18% to +0.83%)
 ↳ reduce-in-rows 1.73 ms 1.75 ms +2.78% (-9.81% to +4.68%)
aggregate-leanxmss-100-2to1-first arm64 Neoverse-N2 432.04 ms 435.00 ms +0.25% (-0.75% to +2.05%)
 ↳ build-circuit 12.74 ms 12.77 ms -0.30% (-2.58% to +4.50%)
 ↳ prove-recursion 399.34 ms 401.58 ms +0.24% (-0.84% to +2.31%)
 ↳ reduce-claims 8.81 ms 8.99 ms +3.21% (-1.44% to +3.71%)
 ↳ reduce-in-rows 2.22 ms 2.29 ms +1.54% (-0.55% to +3.37%)
 ↳ verify 8.94 ms 8.94 ms +0.32% (-0.93% to +1.94%)
aggregate-leanxmss-100-2to1-first x86-64 INTEL(R) XEON(R) GOLD 6548N 87.78 ms 87.57 ms -0.24% (-2.61% to +2.48%)
 ↳ build-circuit 13.97 ms 14.11 ms +0.80% (-1.55% to +3.02%)
 ↳ prove-recursion 56.48 ms 56.69 ms -0.04% (-0.66% to +0.58%)
 ↳ reduce-claims 7.04 ms 6.93 ms -1.11% (-31.52% to +21.57%)
 ↳ reduce-in-rows 1.65 ms 1.74 ms +2.56% (-4.05% to +6.31%)
 ↳ verify 8.58 ms 8.66 ms +1.01% (-0.00% to +1.46%)
aggregate-leanxmss-100-2to1-node arm64 Neoverse-N2 452.74 ms 453.71 ms -0.13% (-10.47% to +0.93%)
 ↳ build-circuit 13.59 ms 13.57 ms -0.84% (-2.09% to +0.28%)
 ↳ prove-recursion 411.31 ms 410.21 ms -0.06% (-11.39% to +1.04%)
 ↳ reduce-claims 17.13 ms 17.21 ms +0.65% (-1.17% to +14.48%)
 ↳ reduce-in-rows 1.98 ms 2.00 ms +1.02% (+0.38% to +1.32%)
aggregate-leanxmss-100-2to1-node x86-64 INTEL(R) XEON(R) GOLD 6548N 92.02 ms 90.85 ms -0.94% (-2.59% to +0.82%)
 ↳ build-circuit 14.76 ms 14.74 ms -1.10% (-2.84% to +3.38%)
 ↳ prove-recursion 58.03 ms 58.11 ms -0.06% (-1.45% to +0.78%)
 ↳ reduce-claims 10.34 ms 9.66 ms -6.57% (-12.20% to +5.14%)
 ↳ reduce-in-rows 1.78 ms 1.81 ms +0.84% (-3.45% to +2.50%)
aggregate-leanxmss-100-4to1-first arm64 Neoverse-N2 832.09 ms 832.15 ms -0.02% (-0.12% to +1.14%)
 ↳ build-circuit 25.40 ms 25.41 ms +0.96% (-0.25% to +1.22%)
 ↳ prove-recursion 773.31 ms 774.15 ms +0.01% (-0.22% to +1.17%)
 ↳ reduce-claims 11.58 ms 11.76 ms +0.38% (-1.01% to +2.33%)
 ↳ reduce-in-rows 4.13 ms 4.13 ms +0.34% (-0.56% to +2.18%)
 ↳ verify 17.11 ms 17.19 ms +0.46% (-0.19% to +0.53%)
aggregate-leanxmss-100-4to1-first x86-64 INTEL(R) XEON(R) GOLD 6548N 152.53 ms 153.91 ms +0.91% (-0.64% to +2.10%)
 ↳ build-circuit 30.47 ms 31.02 ms +1.84% (-0.94% to +2.71%)
 ↳ prove-recursion 93.46 ms 93.71 ms -0.02% (-0.82% to +0.97%)
 ↳ reduce-claims 9.07 ms 8.73 ms +5.03% (-8.36% to +17.36%)
 ↳ reduce-in-rows 3.59 ms 3.70 ms +2.69% (-0.68% to +6.66%)
 ↳ verify 16.70 ms 16.62 ms -0.36% (-2.07% to +5.62%)
aggregate-leanxmss-100-4to1-node arm64 Neoverse-N2 904.77 ms 904.33 ms -0.01% (-5.27% to +0.41%)
 ↳ build-circuit 30.69 ms 30.55 ms -0.48% (-0.92% to +0.13%)
 ↳ prove-recursion 823.11 ms 821.77 ms -0.02% (-5.77% to +0.06%)
 ↳ reduce-claims 28.29 ms 28.32 ms +0.49% (-0.84% to +14.41%)
 ↳ reduce-in-rows 3.96 ms 3.91 ms -0.95% (-1.49% to +0.32%)
aggregate-leanxmss-100-4to1-node x86-64 INTEL(R) XEON(R) GOLD 6548N 163.67 ms 164.15 ms -0.03% (-0.27% to +0.85%)
 ↳ build-circuit 34.88 ms 35.65 ms +1.99% (-0.84% to +3.25%)
 ↳ prove-recursion 97.48 ms 97.94 ms +0.22% (-0.50% to +0.59%)
 ↳ reduce-claims 12.90 ms 12.73 ms -0.83% (-10.82% to +6.08%)
 ↳ reduce-in-rows 3.95 ms 3.97 ms +0.44% (-1.34% to +3.82%)
falcon-7 arm64 Neoverse-N2 2.85 s 2.85 s +0.04% (-0.02% to +2.12%)
 ↳ build-witness 91.38 ms 91.02 ms -0.15% (-0.43% to +32.93%)
 ↳ commit 519.93 ms 519.59 ms +0.09% (-0.46% to +1.29%)
 ↳ execute-program 35.82 ms 35.26 ms -1.87% (-3.04% to -0.37%)
 ↳ flock-reductions 916.02 ms 918.73 ms +0.28% (-0.27% to +0.80%)
 ↳ pcs-open 1.08 s 1.08 s +0.19% (+0.12% to +1.46%)
 ↳ prove-bus 181.18 ms 181.65 ms +0.29% (+0.04% to +0.71%)
 ↳ prove-constraints 24.74 ms 24.50 ms -0.64% (-2.14% to +0.82%)
falcon-7 x86-64 INTEL(R) XEON(R) GOLD 6548N 327.19 ms 328.03 ms +0.21% (-0.34% to +0.50%)
 ↳ build-witness 22.61 ms 22.84 ms +0.92% (-0.64% to +6.82%)
 ↳ commit 42.53 ms 42.59 ms -0.02% (-3.06% to +0.82%)
 ↳ execute-program 37.51 ms 37.58 ms -0.74% (-1.74% to +4.84%)
 ↳ flock-reductions 86.19 ms 86.27 ms -0.29% (-1.40% to +1.04%)
 ↳ pcs-open 103.10 ms 103.12 ms +0.15% (-1.39% to +1.32%)
 ↳ prove-bus 24.46 ms 24.71 ms +0.76% (-2.40% to +2.11%)
 ↳ prove-constraints 9.75 ms 9.61 ms +0.06% (-2.86% to +1.50%)
fibonacci-asm-2000000 arm64 Neoverse-N2 4.42 s 4.39 s -0.71% (-0.80% to -0.33%)
 ↳ build-witness 135.60 ms 136.05 ms +0.38% (-0.63% to +7.17%)
 ↳ commit 816.22 ms 814.41 ms +0.09% (-0.79% to +1.09%)
 ↳ execute-program 66.09 ms 66.38 ms +0.30% (-1.21% to +3.48%)
 ↳ flock-reductions 1.56 s 1.56 s -0.03% (-0.97% to +0.44%)
 ↳ pcs-open 1.49 s 1.46 s -1.67% (-2.25% to -1.19%)
 ↳ prove-bus 314.11 ms 311.37 ms -0.67% (-1.39% to +0.22%)
 ↳ prove-constraints 40.93 ms 40.97 ms +0.22% (-0.91% to +0.94%)
fibonacci-asm-2000000 x86-64 INTEL(R) XEON(R) GOLD 6548N 474.87 ms 471.81 ms -0.60% (-1.85% to +0.01%)
 ↳ build-witness 34.71 ms 34.72 ms -0.09% (-0.38% to +0.97%)
 ↳ commit 62.82 ms 62.17 ms -0.97% (-2.13% to +0.70%)
 ↳ execute-program 73.40 ms 72.96 ms -0.85% (-10.31% to +0.47%)
 ↳ flock-reductions 120.43 ms 120.38 ms -0.08% (-1.64% to +0.28%)
 ↳ pcs-open 135.80 ms 135.89 ms -0.01% (-0.35% to +0.56%)
 ↳ prove-bus 33.58 ms 33.67 ms +0.18% (-0.80% to +1.32%)
 ↳ prove-constraints 12.25 ms 12.21 ms -0.40% (-0.90% to +0.58%)
hash-50000 arm64 Neoverse-N2 2.68 s 2.68 s -0.66% (-1.87% to -0.05%)
 ↳ build-witness 91.94 ms 91.20 ms -0.86% (-1.54% to +0.34%)
 ↳ commit 521.27 ms 519.35 ms -0.25% (-1.77% to -0.03%)
 ↳ execute-program 25.85 ms 25.98 ms -1.08% (-2.82% to +1.34%)
 ↳ flock-reductions 808.46 ms 806.61 ms -0.26% (-2.30% to -0.03%)
 ↳ pcs-open 1.07 s 1.07 s -0.89% (-2.18% to +0.20%)
 ↳ prove-bus 144.51 ms 144.40 ms -0.24% (-1.03% to +0.37%)
 ↳ prove-constraints 19.95 ms 19.81 ms -0.27% (-3.88% to +1.75%)
hash-50000 x86-64 INTEL(R) XEON(R) GOLD 6548N 312.80 ms 311.94 ms -0.52% (-0.90% to -0.01%)
 ↳ build-witness 21.53 ms 21.54 ms -0.26% (-6.16% to +0.92%)
 ↳ commit 42.74 ms 42.59 ms -0.37% (-1.46% to +0.98%)
 ↳ execute-program 29.89 ms 30.07 ms -0.35% (-0.81% to +2.15%)
 ↳ flock-reductions 86.02 ms 86.00 ms -0.01% (-0.84% to +0.73%)
 ↳ pcs-open 103.02 ms 102.80 ms -0.29% (-3.65% to +0.30%)
 ↳ prove-bus 20.60 ms 20.51 ms -0.11% (-1.30% to +1.64%)
 ↳ prove-constraints 8.28 ms 8.30 ms -0.46% (-0.76% to +1.78%)
leansphincs-26 arm64 Neoverse-N2 862.34 ms 861.98 ms -0.05% (-0.20% to -0.00%)
 ↳ build-witness 23.32 ms 23.38 ms +0.26% (-1.14% to +0.50%)
 ↳ commit 146.74 ms 146.31 ms -0.29% (-0.39% to -0.18%)
 ↳ execute-program 12.59 ms 12.57 ms +0.17% (-0.72% to +0.80%)
 ↳ flock-reductions 287.19 ms 286.89 ms -0.15% (-0.30% to +0.30%)
 ↳ pcs-open 317.56 ms 317.74 ms -0.06% (-0.30% to +0.44%)
 ↳ prove-bus 64.55 ms 64.50 ms -0.14% (-0.52% to +0.38%)
 ↳ prove-constraints 9.75 ms 9.76 ms -0.01% (-0.52% to +0.38%)
leansphincs-26 x86-64 INTEL(R) XEON(R) GOLD 6548N 129.36 ms 129.45 ms +0.59% (-2.52% to +1.30%)
 ↳ build-witness 7.66 ms 7.70 ms +0.03% (-0.54% to +6.44%)
 ↳ commit 13.36 ms 13.13 ms -1.96% (-3.34% to +4.33%)
 ↳ execute-program 15.10 ms 15.20 ms +0.55% (-0.69% to +1.99%)
 ↳ flock-reductions 39.52 ms 39.36 ms -0.43% (-7.20% to +1.83%)
 ↳ pcs-open 35.79 ms 35.80 ms +0.39% (-2.05% to +0.83%)
 ↳ prove-bus 12.74 ms 12.94 ms +1.32% (+0.10% to +8.22%)
 ↳ prove-constraints 5.04 ms 5.03 ms -0.14% (-1.05% to +1.74%)
leanxmss-100 arm64 Neoverse-N2 774.89 ms 775.37 ms +0.38% (-2.19% to +6.14%)
 ↳ build-witness 20.64 ms 20.66 ms -0.35% (-5.33% to +0.48%)
 ↳ commit 125.60 ms 125.61 ms +0.24% (-1.07% to +0.74%)
 ↳ execute-program 11.33 ms 11.35 ms -0.38% (-1.13% to +4.48%)
 ↳ flock-reductions 256.10 ms 255.47 ms -0.32% (-5.44% to +0.80%)
 ↳ pcs-open 295.53 ms 296.96 ms +1.07% (-0.67% to +16.05%)
 ↳ prove-bus 56.71 ms 56.68 ms +0.46% (-0.35% to +2.63%)
 ↳ prove-constraints 8.68 ms 8.67 ms +0.01% (-0.48% to +32.88%)
leanxmss-100 x86-64 INTEL(R) XEON(R) GOLD 6548N 116.65 ms 116.06 ms -0.51% (-1.10% to -0.27%)
 ↳ build-witness 6.38 ms 6.39 ms -0.12% (-1.10% to +1.28%)
 ↳ commit 11.61 ms 11.68 ms +0.27% (-0.10% to +1.01%)
 ↳ execute-program 13.27 ms 13.07 ms -0.34% (-3.89% to +1.82%)
 ↳ flock-reductions 37.24 ms 37.19 ms -0.54% (-1.52% to +0.71%)
 ↳ pcs-open 32.06 ms 31.88 ms -0.82% (-2.82% to +0.08%)
 ↳ prove-bus 11.30 ms 11.10 ms -1.22% (-2.15% to -0.76%)
 ↳ prove-constraints 4.66 ms 4.64 ms -0.55% (-3.00% to +0.63%)
leanxmss-100-1thread arm64 Neoverse-N2 2.85 s 2.85 s +0.12% (-1.61% to +0.51%)
 ↳ build-witness 74.35 ms 74.24 ms -0.18% (-0.48% to +0.33%)
 ↳ commit 496.67 ms 497.19 ms +0.14% (-0.34% to +0.32%)
 ↳ execute-program 11.30 ms 11.23 ms -0.59% (-3.43% to +1.38%)
 ↳ flock-reductions 945.94 ms 948.76 ms +0.32% (-0.19% to +1.26%)
 ↳ pcs-open 1.10 s 1.10 s +0.31% (-4.55% to +1.41%)
 ↳ prove-bus 203.26 ms 203.45 ms -0.03% (-1.00% to +0.38%)
 ↳ prove-constraints 22.23 ms 21.83 ms -1.81% (-2.90% to -0.35%)
leanxmss-100-1thread x86-64 INTEL(R) XEON(R) GOLD 6548N 1.11 s 1.11 s +0.05% (-3.06% to +0.88%)
 ↳ build-witness 81.74 ms 81.25 ms -0.53% (-7.95% to +1.56%)
 ↳ commit 198.29 ms 198.02 ms +0.07% (-4.00% to +0.54%)
 ↳ execute-program 14.45 ms 14.36 ms -0.17% (-8.96% to +3.28%)
 ↳ flock-reductions 328.17 ms 326.95 ms -0.04% (-2.81% to +0.23%)
 ↳ pcs-open 375.00 ms 376.07 ms +0.49% (-1.78% to +1.09%)
 ↳ prove-bus 93.12 ms 92.99 ms +0.57% (-1.53% to +3.55%)
 ↳ prove-constraints 20.68 ms 20.61 ms +0.39% (-3.07% to +11.60%)
shielded-258 arm64 Neoverse-N2 3.78 s 3.78 s +0.00% (-1.06% to +0.11%)
 ↳ build-witness 113.83 ms 113.99 ms -0.03% (-0.25% to +0.67%)
 ↳ commit 746.03 ms 744.53 ms -0.26% (-6.23% to +0.21%)
 ↳ execute-program 66.01 ms 66.13 ms +0.43% (-0.83% to +1.33%)
 ↳ flock-reductions 1.16 s 1.17 s -0.03% (-0.24% to +0.18%)
 ↳ pcs-open 1.34 s 1.34 s +0.34% (-0.29% to +0.68%)
 ↳ prove-bus 311.24 ms 310.93 ms -0.03% (-0.24% to +0.67%)
 ↳ prove-constraints 34.74 ms 34.75 ms +0.05% (-0.78% to +0.30%)
shielded-258 x86-64 INTEL(R) XEON(R) GOLD 6548N 476.47 ms 475.99 ms -0.10% (-0.63% to +0.31%)
 ↳ build-witness 34.88 ms 34.76 ms +0.47% (-0.54% to +4.02%)
 ↳ commit 59.90 ms 60.07 ms +0.40% (-1.23% to +1.23%)
 ↳ execute-program 79.65 ms 79.15 ms -0.30% (-1.69% to +3.01%)
 ↳ flock-reductions 114.70 ms 114.77 ms +0.10% (-0.73% to +0.47%)
 ↳ pcs-open 135.18 ms 135.09 ms -0.98% (-2.21% to +0.89%)
 ↳ prove-bus 39.99 ms 40.08 ms -1.05% (-1.34% to +0.64%)
 ↳ prove-constraints 11.95 ms 12.04 ms +1.66% (-2.39% to +3.10%)
stateproof-5 arm64 Neoverse-N2 6.24 s 6.25 s +0.15% (-0.24% to +0.42%)
 ↳ build-witness 188.13 ms 187.91 ms -0.22% (-0.44% to -0.03%)
 ↳ commit 1.22 s 1.22 s +0.23% (-0.26% to +1.07%)
 ↳ execute-program 90.71 ms 90.87 ms +0.18% (-1.87% to +0.83%)
 ↳ flock-reductions 1.82 s 1.83 s -0.22% (-0.66% to +0.58%)
 ↳ pcs-open 2.37 s 2.37 s +0.06% (-0.32% to +0.56%)
 ↳ prove-bus 478.52 ms 478.87 ms +0.05% (-0.74% to +0.12%)
 ↳ prove-constraints 58.73 ms 58.83 ms +0.29% (-0.12% to +0.40%)
stateproof-5 x86-64 INTEL(R) XEON(R) GOLD 6548N 712.88 ms 708.03 ms -0.48% (-1.74% to +1.32%)
 ↳ build-witness 52.69 ms 52.62 ms +0.89% (-6.86% to +2.19%)
 ↳ commit 95.58 ms 96.30 ms -0.02% (-2.64% to +2.43%)
 ↳ execute-program 94.92 ms 93.37 ms -2.05% (-3.96% to +1.79%)
 ↳ flock-reductions 173.44 ms 172.02 ms -0.51% (-3.55% to +0.51%)
 ↳ pcs-open 218.92 ms 218.91 ms +0.13% (-0.45% to +1.23%)
 ↳ prove-bus 54.93 ms 55.30 ms +0.83% (-2.33% to +1.27%)
 ↳ prove-constraints 19.65 ms 19.90 ms +1.17% (-1.02% to +2.49%)

Verifying time

benchmark runner CPU base this PR change
aggregate-leanxmss-100-2to1-1thread-first arm64 Neoverse-N2 7.04 ms 7.12 ms +0.92% (+0.30% to +1.30%)
aggregate-leanxmss-100-2to1-1thread-first x86-64 INTEL(R) XEON(R) GOLD 6548N 4.69 ms 4.59 ms -0.66% (-6.34% to -0.09%)
aggregate-leanxmss-100-2to1-1thread-node arm64 Neoverse-N2 13.06 ms 13.17 ms +0.90% (-8.11% to +2.02%)
aggregate-leanxmss-100-2to1-1thread-node x86-64 INTEL(R) XEON(R) GOLD 6548N 8.19 ms 8.08 ms -0.21% (-5.63% to +0.48%)
aggregate-leanxmss-100-2to1-first arm64 Neoverse-N2 5.07 ms 5.04 ms -0.61% (-1.42% to +1.49%)
aggregate-leanxmss-100-2to1-first x86-64 INTEL(R) XEON(R) GOLD 6548N 4.31 ms 4.21 ms +0.08% (-8.75% to +0.99%)
aggregate-leanxmss-100-2to1-node arm64 Neoverse-N2 6.78 ms 6.77 ms -0.18% (-1.47% to +1.88%)
aggregate-leanxmss-100-2to1-node x86-64 INTEL(R) XEON(R) GOLD 6548N 4.27 ms 4.23 ms +0.32% (-6.17% to +2.35%)
aggregate-leanxmss-100-4to1-first arm64 Neoverse-N2 5.49 ms 5.49 ms -0.05% (-0.71% to +0.99%)
aggregate-leanxmss-100-4to1-first x86-64 INTEL(R) XEON(R) GOLD 6548N 4.47 ms 4.42 ms -1.01% (-6.40% to +2.02%)
aggregate-leanxmss-100-4to1-node arm64 Neoverse-N2 8.73 ms 8.78 ms -0.32% (-0.72% to +2.09%)
aggregate-leanxmss-100-4to1-node x86-64 INTEL(R) XEON(R) GOLD 6548N 4.68 ms 4.70 ms +0.96% (-0.51% to +4.46%)
falcon-7 arm64 Neoverse-N2 4.93 ms 4.92 ms -0.14% (-0.42% to +0.28%)
falcon-7 x86-64 INTEL(R) XEON(R) GOLD 6548N 4.73 ms 4.78 ms +0.60% (-1.81% to +2.18%)
fibonacci-asm-2000000 arm64 Neoverse-N2 4.93 ms 4.93 ms -0.15% (-3.82% to +1.91%)
fibonacci-asm-2000000 x86-64 INTEL(R) XEON(R) GOLD 6548N 4.49 ms 4.47 ms -0.20% (-1.52% to +1.45%)
hash-50000 arm64 Neoverse-N2 4.74 ms 4.71 ms -0.42% (-0.91% to +0.33%)
hash-50000 x86-64 INTEL(R) XEON(R) GOLD 6548N 4.50 ms 4.52 ms +0.29% (-0.39% to +0.45%)
leansphincs-26 arm64 Neoverse-N2 4.68 ms 4.66 ms -0.39% (-0.53% to +0.48%)
leansphincs-26 x86-64 INTEL(R) XEON(R) GOLD 6548N 4.53 ms 4.61 ms +1.45% (+0.46% to +2.09%)
leanxmss-100 arm64 Neoverse-N2 4.83 ms 4.84 ms -0.03% (-1.28% to +0.98%)
leanxmss-100 x86-64 INTEL(R) XEON(R) GOLD 6548N 4.48 ms 4.48 ms +0.29% (-2.29% to +0.73%)
leanxmss-100-1thread arm64 Neoverse-N2 4.83 ms 4.84 ms -0.03% (-3.06% to +0.96%)
leanxmss-100-1thread x86-64 INTEL(R) XEON(R) GOLD 6548N 4.47 ms 4.54 ms +0.92% (-1.25% to +10.59%)
shielded-258 arm64 Neoverse-N2 4.91 ms 4.92 ms +0.09% (-0.93% to +0.55%)
shielded-258 x86-64 INTEL(R) XEON(R) GOLD 6548N 4.95 ms 4.99 ms -0.22% (-1.62% to +3.26%)
stateproof-5 arm64 Neoverse-N2 5.06 ms 5.08 ms +0.09% (-0.51% to +1.27%)
stateproof-5 x86-64 INTEL(R) XEON(R) GOLD 6548N 5.01 ms 4.97 ms -1.08% (-1.42% to +0.98%)

Time per operation

benchmark runner CPU base this PR change
blake2s-batch arm64 Neoverse-N2 15.49 ns 15.47 ns -0.01% (-1.89% to +0.06%)
blake2s-batch x86-64 INTEL(R) XEON(R) GOLD 6548N 0.81 ns 0.80 ns -0.12% (-0.86% to +0.50%)
f192-inv arm64 Neoverse-N2 224.55 ns 224.78 ns +0.11% (-0.00% to +0.15%)
f192-inv x86-64 INTEL(R) XEON(R) GOLD 6548N 267.20 ns 266.29 ns -0.28% (-1.43% to +0.06%)
f192-mul-latency arm64 Neoverse-N2 8.25 ns 8.26 ns +0.04% (-0.11% to +0.21%)
f192-mul-latency x86-64 INTEL(R) XEON(R) GOLD 6548N 7.58 ns 7.57 ns -0.18% (-0.34% to +1.14%)
f192-mul-throughput arm64 Neoverse-N2 6.48 ns 6.48 ns +0.00% (-0.22% to +0.26%)
f192-mul-throughput x86-64 INTEL(R) XEON(R) GOLD 6548N 4.50 ns 4.45 ns -0.60% (-1.02% to -0.22%)
f192-mul4-latency arm64 Neoverse-N2 25.93 ns 25.95 ns +0.02% (-0.04% to +0.13%)
f192-mul4-latency x86-64 INTEL(R) XEON(R) GOLD 6548N 10.26 ns 10.17 ns -1.41% (-2.14% to +1.96%)
f192-mul4-throughput arm64 Neoverse-N2 25.94 ns 25.94 ns +0.01% (-0.01% to +0.35%)
f192-mul4-throughput x86-64 INTEL(R) XEON(R) GOLD 6548N 15.69 ns 15.72 ns +0.60% (-1.03% to +10.78%)
f192-square arm64 Neoverse-N2 3.54 ns 3.54 ns -0.03% (-0.23% to +0.59%)
f192-square x86-64 INTEL(R) XEON(R) GOLD 6548N 3.34 ns 3.36 ns +0.81% (-1.09% to +3.27%)
f64-inv arm64 Neoverse-N2 197.19 ns 197.17 ns -0.01% (-0.03% to +0.24%)
f64-inv x86-64 INTEL(R) XEON(R) GOLD 6548N 239.02 ns 238.21 ns +0.24% (-3.54% to +0.88%)
f64-mul arm64 Neoverse-N2 1.18 ns 1.18 ns +0.00% (-0.08% to +0.08%)
f64-mul x86-64 INTEL(R) XEON(R) GOLD 6548N 0.87 ns 0.87 ns -0.12% (-4.30% to +0.46%)
f64-square arm64 Neoverse-N2 1.18 ns 1.18 ns +0.00% (-0.08% to +0.25%)
f64-square x86-64 INTEL(R) XEON(R) GOLD 6548N 1.09 ns 1.08 ns -0.37% (-3.11% to +1.57%)
ntt-forward-22 arm64 Neoverse-N2 25.67 ms 25.66 ms +0.16% (-2.29% to +12.61%)
ntt-forward-22 x86-64 INTEL(R) XEON(R) GOLD 6548N 2.34 ms 2.22 ms -5.01% (-8.66% to -1.37%)
transpose-64bytes arm64 Neoverse-N2 16.07 ns 16.07 ns +0.00% (-0.04% to +0.02%)
transpose-64bytes x86-64 INTEL(R) XEON(R) GOLD 6548N 0.85 ns 0.84 ns -0.47% (-0.71% to +0.95%)
transpose-64x64 arm64 Neoverse-N2 119.56 ns 119.65 ns +0.02% (-0.39% to +0.56%)
transpose-64x64 x86-64 INTEL(R) XEON(R) GOLD 6548N 73.47 ns 73.93 ns +0.09% (-0.16% to +1.90%)

Proof size

benchmark runner CPU base this PR change
aggregate-leanxmss-100-2to1-1thread-first arm64 Neoverse-N2 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-N2 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-N2 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-N2 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-N2 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-N2 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-N2 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-N2 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-N2 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-N2 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-N2 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-N2 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-N2 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-N2 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-N2 1780.73 MiB 1780.75 MiB -0.00% (-0.01% to +0.11%)
aggregate-leanxmss-100-2to1-1thread-first x86-64 INTEL(R) XEON(R) GOLD 6548N 1174.60 MiB 1174.59 MiB -0.00% (-0.19% to +0.17%)
aggregate-leanxmss-100-2to1-1thread-node arm64 Neoverse-N2 1780.98 MiB 1780.99 MiB +0.00% (-0.00% to +0.11%)
aggregate-leanxmss-100-2to1-1thread-node x86-64 INTEL(R) XEON(R) GOLD 6548N 1174.60 MiB 1174.59 MiB -0.00% (-0.19% to +0.17%)
aggregate-leanxmss-100-2to1-first arm64 Neoverse-N2 1825.57 MiB 1828.85 MiB +0.08% (-1.06% to +1.16%)
aggregate-leanxmss-100-2to1-first x86-64 INTEL(R) XEON(R) GOLD 6548N 1300.04 MiB 1297.29 MiB -0.21% (-0.39% to +0.53%)
aggregate-leanxmss-100-2to1-node arm64 Neoverse-N2 1830.89 MiB 1835.86 MiB +0.39% (-1.15% to +1.44%)
aggregate-leanxmss-100-2to1-node x86-64 INTEL(R) XEON(R) GOLD 6548N 1371.37 MiB 1372.15 MiB -0.18% (-1.49% to +1.20%)
aggregate-leanxmss-100-4to1-first arm64 Neoverse-N2 2335.28 MiB 2320.82 MiB -0.10% (-0.64% to +0.26%)
aggregate-leanxmss-100-4to1-first x86-64 INTEL(R) XEON(R) GOLD 6548N 1319.23 MiB 1321.48 MiB +0.26% (-0.53% to +0.77%)
aggregate-leanxmss-100-4to1-node arm64 Neoverse-N2 2349.01 MiB 2334.55 MiB +0.09% (-0.77% to +0.30%)
aggregate-leanxmss-100-4to1-node x86-64 INTEL(R) XEON(R) GOLD 6548N 1394.84 MiB 1395.55 MiB -0.43% (-1.10% to +0.56%)
falcon-7 arm64 Neoverse-N2 5709.43 MiB 5710.31 MiB +0.01% (-0.05% to +0.03%)
falcon-7 x86-64 INTEL(R) XEON(R) GOLD 6548N 3208.70 MiB 3208.59 MiB +0.05% (-0.08% to +0.12%)
fibonacci-asm-2000000 arm64 Neoverse-N2 8987.05 MiB 8987.00 MiB -0.00% (-0.01% to +0.02%)
fibonacci-asm-2000000 x86-64 INTEL(R) XEON(R) GOLD 6548N 4232.45 MiB 4232.21 MiB +0.01% (-0.02% to +0.11%)
hash-50000 arm64 Neoverse-N2 5656.25 MiB 5656.02 MiB -0.01% (-0.24% to +0.13%)
hash-50000 x86-64 INTEL(R) XEON(R) GOLD 6548N 3050.69 MiB 3047.19 MiB +0.05% (-0.31% to +0.32%)
leansphincs-26 arm64 Neoverse-N2 1849.22 MiB 1849.34 MiB +0.01% (-0.07% to +0.12%)
leansphincs-26 x86-64 INTEL(R) XEON(R) GOLD 6548N 1025.36 MiB 1023.37 MiB -0.17% (-0.39% to +0.15%)
leanxmss-100 arm64 Neoverse-N2 1633.33 MiB 1615.41 MiB -0.73% (-1.21% to -0.10%)
leanxmss-100 x86-64 INTEL(R) XEON(R) GOLD 6548N 881.00 MiB 881.04 MiB -0.19% (-0.46% to +0.23%)
leanxmss-100-1thread arm64 Neoverse-N2 1592.37 MiB 1592.32 MiB +0.00% (-0.13% to +0.11%)
leanxmss-100-1thread x86-64 INTEL(R) XEON(R) GOLD 6548N 986.35 MiB 988.35 MiB +0.20% (-0.00% to +0.38%)
shielded-258 arm64 Neoverse-N2 8203.28 MiB 8206.46 MiB +0.03% (+0.01% to +0.69%)
shielded-258 x86-64 INTEL(R) XEON(R) GOLD 6548N 4271.20 MiB 4267.64 MiB -0.21% (-0.25% to +0.24%)
stateproof-5 arm64 Neoverse-N2 12398.16 MiB 12403.23 MiB +0.05% (+0.01% to +0.07%)
stateproof-5 x86-64 INTEL(R) XEON(R) GOLD 6548N 6175.44 MiB 6175.49 MiB -0.00% (-0.07% to +0.10%)

allocations

benchmark runner CPU base this PR change
aggregate-leanxmss-100-2to1-1thread-first arm64 Neoverse-N2 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-N2 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-N2 23.44 µs 23.44 µs +0.00% (+0.00% to +0.00%)
aggregate-leanxmss-100-2to1-first x86-64 INTEL(R) XEON(R) GOLD 6548N 24.25 µs 24.25 µs +0.00% (-0.00% to +0.00%)
aggregate-leanxmss-100-2to1-node arm64 Neoverse-N2 27.33 µs 27.33 µs +0.00% (+0.00% to +0.00%)
aggregate-leanxmss-100-2to1-node x86-64 INTEL(R) XEON(R) GOLD 6548N 28.14 µs 28.14 µs +0.00% (-0.01% to +0.00%)
aggregate-leanxmss-100-4to1-first arm64 Neoverse-N2 41.95 µs 41.95 µs +0.00% (-0.01% to +0.00%)
aggregate-leanxmss-100-4to1-first x86-64 INTEL(R) XEON(R) GOLD 6548N 42.93 µs 42.93 µs +0.00% (+0.00% to +0.01%)
aggregate-leanxmss-100-4to1-node arm64 Neoverse-N2 49.86 µs 49.86 µ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.01% (+0.00% to +0.01%)
falcon-7 arm64 Neoverse-N2 14.75 µs 14.75 µs +0.00% (-0.11% to +0.01%)
falcon-7 x86-64 INTEL(R) XEON(R) GOLD 6548N 17.57 µs 17.57 µs +0.02% (+0.02% to +0.10%)
fibonacci-asm-2000000 arm64 Neoverse-N2 11.22 µs 11.22 µs +0.00% (+0.00% to +0.01%)
fibonacci-asm-2000000 x86-64 INTEL(R) XEON(R) GOLD 6548N 12.37 µs 12.37 µs +0.00% (-0.02% to +0.00%)
hash-50000 arm64 Neoverse-N2 15.54 µs 15.54 µs +0.00% (+0.00% to +0.01%)
hash-50000 x86-64 INTEL(R) XEON(R) GOLD 6548N 18.75 µs 18.75 µs +0.00% (-0.04% to +0.02%)
leansphincs-26 arm64 Neoverse-N2 24.68 µs 24.68 µs +0.00% (-0.00% to +0.00%)
leansphincs-26 x86-64 INTEL(R) XEON(R) GOLD 6548N 27.14 µs 27.13 µs -0.00% (-0.13% to +0.07%)
leanxmss-100 arm64 Neoverse-N2 25.32 µs 25.32 µs +0.00% (-0.08% to +0.00%)
leanxmss-100 x86-64 INTEL(R) XEON(R) GOLD 6548N 27.71 µs 27.72 µs +0.01% (+0.00% to +0.03%)
leanxmss-100-1thread arm64 Neoverse-N2 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-N2 44.03 µs 44.03 µs +0.00% (+0.00% to +0.00%)
shielded-258 x86-64 INTEL(R) XEON(R) GOLD 6548N 47.28 µs 47.26 µs -0.05% (-0.08% to +0.03%)
stateproof-5 arm64 Neoverse-N2 18.13 µs 18.13 µs +0.00% (-0.03% to +0.03%)
stateproof-5 x86-64 INTEL(R) XEON(R) GOLD 6548N 21.27 µs 21.27 µs +0.02% (-0.04% to +0.05%)

heap-peak

benchmark runner CPU base this PR change
aggregate-leanxmss-100-2to1-1thread-first arm64 Neoverse-N2 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-N2 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-N2 738.62 ms 738.62 ms +0.00% (-0.01% to +0.01%)
aggregate-leanxmss-100-2to1-first x86-64 INTEL(R) XEON(R) GOLD 6548N 373.87 ms 373.84 ms -0.01% (-0.04% to +0.04%)
aggregate-leanxmss-100-2to1-node arm64 Neoverse-N2 738.27 ms 738.28 ms -0.00% (-0.00% to +0.01%)
aggregate-leanxmss-100-2to1-node x86-64 INTEL(R) XEON(R) GOLD 6548N 373.65 ms 373.60 ms -0.01% (-0.04% to +0.00%)
aggregate-leanxmss-100-4to1-first arm64 Neoverse-N2 1.48 s 1.48 s +0.00% (-0.00% to +0.00%)
aggregate-leanxmss-100-4to1-first x86-64 INTEL(R) XEON(R) GOLD 6548N 746.98 ms 747.00 ms +0.00% (-0.04% to +0.01%)
aggregate-leanxmss-100-4to1-node arm64 Neoverse-N2 1.48 s 1.48 s -0.00% (-0.00% to +0.00%)
aggregate-leanxmss-100-4to1-node x86-64 INTEL(R) XEON(R) GOLD 6548N 746.54 ms 746.43 ms -0.01% (-0.05% to +0.00%)
falcon-7 arm64 Neoverse-N2 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-N2 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-N2 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.00% to +0.00%)
leansphincs-26 arm64 Neoverse-N2 1.72 s 1.72 s -0.00% (-0.01% to +0.00%)
leansphincs-26 x86-64 INTEL(R) XEON(R) GOLD 6548N 776.35 ms 776.34 ms -0.00% (-0.01% to +0.01%)
leanxmss-100 arm64 Neoverse-N2 1.49 s 1.49 s -0.00% (-0.01% to +0.00%)
leanxmss-100 x86-64 INTEL(R) XEON(R) GOLD 6548N 666.94 ms 666.94 ms -0.00% (-0.00% to +0.00%)
leanxmss-100-1thread arm64 Neoverse-N2 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-N2 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.01%)
stateproof-5 arm64 Neoverse-N2 12.45 s 12.45 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%)

@kevaundray
kevaundray merged commit 84de8ef 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