Skip to content

ci: track the one-thread cases at 4 and 8 threads too - #531

Merged
kevaundray merged 1 commit into
leanEthereum:riscv-explorationfrom
kevaundray:kw/bench-4-8-threads
Oct 7, 2026
Merged

kevaundray merged 1 commit into
leanEthereum:riscv-explorationfrom
kevaundray:kw/bench-4-8-threads

Conversation

@kevaundray

@kevaundray kevaundray commented Oct 7, 2026 •

Copy link
Copy Markdown
Collaborator

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

What is tracked

The three cases proven on one thread (#461, #470, #530) are now also proven on 4 and 8 threads, so CI reports each at 1, 4, 8 and all threads on both testbeds:

case 1 thread 4 threads 8 threads all threads
leanXMSS at a quarter leanxmss-100-1thread leanxmss-100-4thread leanxmss-100-8thread leanxmss-100
2-to-1 tree over it aggregate-leanxmss-100-2to1-1thread aggregate-leanxmss-100-2to1-4thread aggregate-leanxmss-100-2to1-8thread aggregate-leanxmss-100-2to1
4-to-1 tree over it aggregate-leanxmss-100-4to1-1thread aggregate-leanxmss-100-4to1-4thread aggregate-leanxmss-100-4to1-8thread aggregate-leanxmss-100-4to1

Each new case reports the same metrics as its one-thread twin (a tree's as -first and -node), and is its own matrix job on both testbeds. The -1thread cases keep their names and behaviour, so their comparisons carry on. --cycles-only is unchanged: its JSON is identical to #530's head.

Mechanism

ONE_THREAD in bins/leanvm/src/tracked.rs becomes THREADS, a list of (case, threads). The pool reads LEANVM_NUM_THREADS once per process, so the CLI proves such a case in a child (itself again, with --only <case> and LEANVM_NUM_THREADS=<threads>) unless its own pool already has that many performance workers (parallel::topology().perf, which on Linux is the whole pool; comparing the performance count rather than the total keeps a child on Apple silicon from re-running itself), and merges the child's JSON as before.

No CPU pinning, as for the one-thread cases: each job runs on a fresh VM it has to itself, and base and PR alternate within that one job, so both sides see the same scheduler and the same idle cores.

CI time

Estimated before the run, from #530's Bench run: a job costs about 90 s (x86-64) or 82 s (arm64) before its runs (setup and building both sides), a 4- or 8-thread run 1 to 3 s on x86-64 and about 1.5 times that on arm64, so the six new jobs per testbed would add about 11 runner-minutes each to the 26.5 (x86-64) and 26.8 (arm64) of today's 17 jobs, and none of them would be the longest job.

Measured in this PR's Bench run, where the base lacks the new cases, so each ran 5 times (head only):

testbed the 6 new jobs all 23 jobs longest job head run of a new case
x86-64 628 s (10.5 min) 37.3 min 177 s (aggregate-leanxmss-100-4to1-1thread) 0.85 to 3.0 s
arm64 557 s (9.3 min) 36.6 min 226 s (aggregate-leanxmss-100-4to1-1thread) 1.2 to 4.1 s

Once the base has them, each new job adds the base's 5 runs: about 54 s more over the six on x86-64 and 72 s on arm64, so about 11.4 runner-minutes added on x86-64 and 10.5 on arm64 per PR. Each new job would then take 1.5 to 2 min, below the longest (the one-thread 4-to-1 tree, 3 to 3.8 min), so the run's wall time grows only if the runner pools cannot start the extra jobs at once. In this run each pool started all but one or two jobs within 4 min of the first; the last x86-64 job and the last two arm64 jobs started about 10 min later, as three arm64 jobs did in #530's run with 17 jobs, and those stragglers set the run's wall time (20 min here, 16 min for #530). That is modest, so this keeps ROUNDS as it is for these cases.

Results

Proving latency, the median of this run's 5 head runs per case, with the speedup over one thread. x86-64, Intel Xeon Gold 6548N (32 vCPUs, so all threads is 32):

benchmark 1 thread 4 threads 8 threads all threads 1 / 4 1 / 8 1 / all
leanxmss-100 1020.5 ms 297.2 ms 179.3 ms 117.0 ms 3.43x 5.69x 8.72x
aggregate-leanxmss-100-2to1-first 620.6 ms 189.5 ms 131.2 ms 85.7 ms 3.27x 4.73x 7.24x
aggregate-leanxmss-100-2to1-node 652.0 ms 199.6 ms 137.5 ms 87.6 ms 3.27x 4.74x 7.44x
aggregate-leanxmss-100-4to1-first 1176.3 ms 361.7 ms 226.9 ms 157.2 ms 3.25x 5.18x 7.49x
aggregate-leanxmss-100-4to1-node 1281.1 ms 391.0 ms 250.1 ms 167.2 ms 3.28x 5.12x 7.66x

arm64, Neoverse-V2 (16 vCPUs, so all threads is 16):

benchmark 1 thread 4 threads 8 threads all threads 1 / 4 1 / 8 1 / all
leanxmss-100 2058.0 ms 555.4 ms 350.1 ms 213.2 ms 3.71x 5.88x 9.65x
aggregate-leanxmss-100-2to1-first 1068.5 ms 300.9 ms 198.9 ms 128.1 ms 3.55x 5.37x 8.34x
aggregate-leanxmss-100-2to1-node 1125.6 ms 313.9 ms 208.4 ms 131.9 ms 3.59x 5.40x 8.54x
aggregate-leanxmss-100-4to1-first 2147.2 ms 586.2 ms 373.4 ms 234.7 ms 3.66x 5.75x 9.15x
aggregate-leanxmss-100-4to1-node 2323.0 ms 633.9 ms 400.7 ms 254.3 ms 3.66x 5.80x 9.14x

Job durations in this run (the 1-thread and all-thread jobs ran 10 times, base and head; the new ones 5, head only):

x86-64:

job 1 thread 4 threads 8 threads all threads
leanxmss-100 129 s 111 s 89 s 119 s
aggregate-leanxmss-100-2to1 153 s 114 s 104 s 99 s
aggregate-leanxmss-100-4to1 177 s 107 s 103 s 107 s

arm64:

job 1 thread 4 threads 8 threads all threads
leanxmss-100 142 s 93 s 84 s 88 s
aggregate-leanxmss-100-2to1 176 s 93 s 96 s 92 s
aggregate-leanxmss-100-4to1 226 s 99 s 92 s 97 s

Smoke

cargo leanvm bench --only <case> --repeat 1 --cooldown 0 for each case of THREADS, under systemd-run --user --scope -p MemoryMax=16G -p MemorySwapMax=0 on a Ryzen 9 7950X3D (16 cores, 32 threads), all exit 0, with the proving latency:

leanxmss-100-1thread                      0.680 s
leanxmss-100-4thread                      0.204 s
leanxmss-100-8thread                      0.143 s
aggregate-leanxmss-100-2to1-1thread       first 0.394 s, node 0.413 s
aggregate-leanxmss-100-2to1-4thread       first 0.125 s, node 0.131 s
aggregate-leanxmss-100-2to1-8thread       first 0.098 s, node 0.101 s
aggregate-leanxmss-100-4to1-1thread       first 0.773 s, node 0.848 s
aggregate-leanxmss-100-4to1-4thread       first 0.239 s, node 0.262 s
aggregate-leanxmss-100-4to1-8thread       first 0.174 s, node 0.196 s

/usr/bin/time's CPU with --repeat 5 (the rest of a run is serial setup and verification):

leanxmss-100-1thread                 100%
leanxmss-100-4thread                 360%
leanxmss-100-8thread                 646%
leanxmss-100 (all, 32)              1905%
aggregate-leanxmss-100-4to1-4thread  343%
aggregate-leanxmss-100-4to1-8thread  597%

Under strace -f, each pinned case execs one child, which spawns 0, 3 or 7 workers for 1, 4 or 8 threads; with LEANVM_NUM_THREADS=4 already set, --only leanxmss-100-4thread proves in place with no child. cargo leanvm bench with no --only proves all 10 cases and 8 trees and prints all 26 benchmarks.

Checks: cargo fmt --all --check; cargo clippyall for haswell on 1.97 and 1.99 and native on 1.99; cargo test --release -p leanvm-cli -p bench; cargo docall; actionlint on bench.yml.

leanxmss-100, aggregate-leanxmss-100-2to1 and aggregate-leanxmss-100-4to1 are now also proven on 4 and 8 threads (`-4thread`, `-8thread`), so each is reported at 1, 4, 8 and all threads on both testbeds.

`ONE_THREAD` becomes `THREADS`, a list of (case, threads): the CLI proves such a case in a child with `LEANVM_NUM_THREADS` set to its count unless its own pool already has that many performance workers. The `-1thread` cases keep their names and behaviour, and `--cycles-only` is unchanged (its JSON is identical to leanEthereum#530's head).

Smoke, `bench --only <case> --repeat 5 --cooldown 0` on a Ryzen 9 7950X3D (32 threads), `/usr/bin/time`'s CPU:
leanxmss-100-1thread 100%, -4thread 360%, -8thread 646%, leanxmss-100 1905%;
aggregate-leanxmss-100-4to1-4thread 343%, -8thread 597%.
@github-actions

github-actions Bot commented Oct 7, 2026

Copy link
Copy Markdown

Benchmarks: base against this PR, on one runner

4c7e325 merged into its base, against the base 40f22fc: 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-4thread-first arm64 none 300.95 ms new
aggregate-leanxmss-100-2to1-4thread-first x86-64 none 189.53 ms new
aggregate-leanxmss-100-2to1-4thread-node arm64 none 313.93 ms new
aggregate-leanxmss-100-2to1-4thread-node x86-64 none 199.62 ms new
aggregate-leanxmss-100-2to1-8thread-first arm64 none 198.92 ms new
aggregate-leanxmss-100-2to1-8thread-first x86-64 none 131.20 ms new
aggregate-leanxmss-100-2to1-8thread-node arm64 none 208.39 ms new
aggregate-leanxmss-100-2to1-8thread-node x86-64 none 137.50 ms new
aggregate-leanxmss-100-4to1-4thread-first arm64 none 586.19 ms new
aggregate-leanxmss-100-4to1-4thread-first x86-64 none 361.67 ms new
aggregate-leanxmss-100-4to1-4thread-node arm64 none 633.91 ms new
aggregate-leanxmss-100-4to1-4thread-node x86-64 none 391.02 ms new
aggregate-leanxmss-100-4to1-8thread-first arm64 none 373.41 ms new
aggregate-leanxmss-100-4to1-8thread-first x86-64 none 226.94 ms new
aggregate-leanxmss-100-4to1-8thread-node arm64 none 400.73 ms new
aggregate-leanxmss-100-4to1-8thread-node x86-64 none 250.14 ms new
leanxmss-100-4thread arm64 none 555.42 ms new
leanxmss-100-4thread x86-64 none 297.17 ms new
leanxmss-100-8thread arm64 none 350.14 ms new
leanxmss-100-8thread x86-64 none 179.31 ms new
Prover stages
benchmark runner base this PR change
aggregate-leanxmss-100-2to1-1thread-first x86-64 625.34 ms 620.58 ms -1.05% (-2.25% to +1.32%)
 ↳ build-circuit 15.43 ms 15.43 ms +0.44% (-3.37% to +1.17%)
 ↳ prove-recursion 582.08 ms 576.36 ms -1.26% (-2.16% to +1.41%)
 ↳ reduce-claims 19.18 ms 18.84 ms -1.57% (-3.87% to +2.66%)
 ↳ reduce-in-rows 1.74 ms 1.89 ms +10.61% (+3.96% to +12.17%)
 ↳ verify 7.90 ms 7.88 ms -0.58% (-5.68% to +0.78%)
aggregate-leanxmss-100-2to1-1thread-node x86-64 652.53 ms 651.97 ms -0.22% (-0.90% to +0.20%)
 ↳ build-circuit 16.58 ms 15.75 ms -3.21% (-7.12% to +4.22%)
 ↳ prove-recursion 591.32 ms 591.13 ms -0.18% (-0.63% to +0.17%)
 ↳ reduce-claims 34.93 ms 34.32 ms -0.93% (-3.05% to +0.47%)
 ↳ reduce-in-rows 1.80 ms 1.94 ms +8.46% (+6.47% to +10.88%)
aggregate-leanxmss-100-2to1-4thread-first arm64 none 300.95 ms new
 ↳ build-circuit none 10.48 ms new
 ↳ prove-recursion none 276.47 ms new
 ↳ reduce-claims none 5.47 ms new
 ↳ reduce-in-rows none 1.42 ms new
 ↳ verify none 6.75 ms new
aggregate-leanxmss-100-2to1-4thread-first x86-64 none 189.53 ms new
 ↳ build-circuit none 14.86 ms new
 ↳ prove-recursion none 157.29 ms new
 ↳ reduce-claims none 6.90 ms new
 ↳ reduce-in-rows none 1.95 ms new
 ↳ verify none 7.87 ms new
aggregate-leanxmss-100-2to1-4thread-node arm64 none 313.93 ms new
 ↳ build-circuit none 11.14 ms new
 ↳ prove-recursion none 285.08 ms new
 ↳ reduce-claims none 10.35 ms new
 ↳ reduce-in-rows none 1.44 ms new
aggregate-leanxmss-100-2to1-4thread-node x86-64 none 199.62 ms new
 ↳ build-circuit none 16.19 ms new
 ↳ prove-recursion none 161.82 ms new
 ↳ reduce-claims none 12.18 ms new
 ↳ reduce-in-rows none 2.03 ms new
aggregate-leanxmss-100-2to1-8thread-first arm64 none 198.92 ms new
 ↳ build-circuit none 10.60 ms new
 ↳ prove-recursion none 174.92 ms new
 ↳ reduce-claims none 4.49 ms new
 ↳ reduce-in-rows none 1.43 ms new
 ↳ verify none 6.97 ms new
aggregate-leanxmss-100-2to1-8thread-first x86-64 none 131.20 ms new
 ↳ build-circuit none 15.25 ms new
 ↳ prove-recursion none 97.49 ms new
 ↳ reduce-claims none 6.39 ms new
 ↳ reduce-in-rows none 2.15 ms new
 ↳ verify none 8.16 ms new
aggregate-leanxmss-100-2to1-8thread-node arm64 none 208.39 ms new
 ↳ build-circuit none 11.46 ms new
 ↳ prove-recursion none 181.05 ms new
 ↳ reduce-claims none 7.80 ms new
 ↳ reduce-in-rows none 1.44 ms new
aggregate-leanxmss-100-2to1-8thread-node x86-64 none 137.50 ms new
 ↳ build-circuit none 16.01 ms new
 ↳ prove-recursion none 100.28 ms new
 ↳ reduce-claims none 11.30 ms new
 ↳ reduce-in-rows none 2.19 ms new
aggregate-leanxmss-100-2to1-first x86-64 85.18 ms 85.72 ms +0.11% (-1.88% to +1.73%)
 ↳ build-circuit 13.74 ms 13.88 ms +0.96% (-0.31% to +3.22%)
 ↳ prove-recursion 53.94 ms 53.76 ms -0.57% (-0.68% to +0.26%)
 ↳ reduce-claims 7.17 ms 7.26 ms +4.06% (-22.16% to +13.28%)
 ↳ reduce-in-rows 1.68 ms 1.83 ms +10.08% (+2.81% to +11.63%)
 ↳ verify 8.66 ms 8.61 ms -0.40% (-0.79% to +1.97%)
aggregate-leanxmss-100-2to1-node x86-64 89.28 ms 87.58 ms -1.95% (-4.88% to +0.04%)
 ↳ build-circuit 15.01 ms 14.70 ms -2.01% (-8.42% to +6.73%)
 ↳ prove-recursion 54.94 ms 54.92 ms -0.50% (-4.95% to +1.23%)
 ↳ reduce-claims 10.00 ms 9.01 ms -11.23% (-21.63% to +0.59%)
 ↳ reduce-in-rows 1.87 ms 2.03 ms +7.28% (+1.70% to +10.55%)
aggregate-leanxmss-100-4to1-1thread-first x86-64 1.17 s 1.18 s +0.16% (-0.19% to +0.62%)
 ↳ build-circuit 32.66 ms 32.71 ms -0.03% (-1.39% to +1.79%)
 ↳ prove-recursion 1.10 s 1.10 s +0.23% (-0.22% to +0.54%)
 ↳ reduce-claims 26.10 ms 26.09 ms -0.03% (-0.59% to +0.84%)
 ↳ reduce-in-rows 3.62 ms 3.91 ms +10.34% (+6.74% to +18.49%)
 ↳ verify 15.02 ms 15.07 ms +0.14% (-1.56% to +3.02%)
aggregate-leanxmss-100-4to1-1thread-node arm64 2.32 s 2.32 s +0.30% (-0.57% to +0.55%)
 ↳ build-circuit 29.17 ms 29.76 ms +1.59% (-1.05% to +23.37%)
 ↳ prove-recursion 2.21 s 2.22 s -0.04% (-0.74% to +0.57%)
 ↳ reduce-claims 55.10 ms 55.77 ms +1.25% (-2.04% to +12.72%)
 ↳ reduce-in-rows 2.87 ms 2.98 ms +3.98% (+0.49% to +13.43%)
aggregate-leanxmss-100-4to1-1thread-node x86-64 1.28 s 1.28 s +0.12% (-0.08% to +0.15%)
 ↳ build-circuit 38.33 ms 38.72 ms -1.62% (-3.23% to +3.61%)
 ↳ prove-recursion 1.15 s 1.15 s +0.11% (-0.20% to +0.22%)
 ↳ reduce-claims 63.14 ms 62.84 ms -0.52% (-1.36% to +0.70%)
 ↳ reduce-in-rows 3.61 ms 3.98 ms +9.02% (+7.21% to +15.36%)
aggregate-leanxmss-100-4to1-4thread-first arm64 none 586.19 ms new
 ↳ build-circuit none 21.16 ms new
 ↳ prove-recursion none 541.88 ms new
 ↳ reduce-claims none 7.25 ms new
 ↳ reduce-in-rows none 2.68 ms new
 ↳ verify none 13.26 ms new
aggregate-leanxmss-100-4to1-4thread-first x86-64 none 361.67 ms new
 ↳ build-circuit none 32.73 ms new
 ↳ prove-recursion none 300.52 ms new
 ↳ reduce-claims none 9.73 ms new
 ↳ reduce-in-rows none 4.00 ms new
 ↳ verify none 15.19 ms new
aggregate-leanxmss-100-4to1-4thread-node arm64 none 633.91 ms new
 ↳ build-circuit none 24.83 ms new
 ↳ prove-recursion none 575.63 ms new
 ↳ reduce-claims none 17.29 ms new
 ↳ reduce-in-rows none 2.86 ms new
aggregate-leanxmss-100-4to1-4thread-node x86-64 none 391.02 ms new
 ↳ build-circuit none 37.41 ms new
 ↳ prove-recursion none 314.55 ms new
 ↳ reduce-claims none 20.45 ms new
 ↳ reduce-in-rows none 4.19 ms new
aggregate-leanxmss-100-4to1-8thread-first arm64 none 373.41 ms new
 ↳ build-circuit none 20.65 ms new
 ↳ prove-recursion none 331.18 ms new
 ↳ reduce-claims none 5.21 ms new
 ↳ reduce-in-rows none 2.65 ms new
 ↳ verify none 13.53 ms new
aggregate-leanxmss-100-4to1-8thread-first x86-64 none 226.94 ms new
 ↳ build-circuit none 32.40 ms new
 ↳ prove-recursion none 167.85 ms new
 ↳ reduce-claims none 7.79 ms new
 ↳ reduce-in-rows none 4.08 ms new
 ↳ verify none 15.38 ms new
aggregate-leanxmss-100-4to1-8thread-node arm64 none 400.73 ms new
 ↳ build-circuit none 24.26 ms new
 ↳ prove-recursion none 348.81 ms new
 ↳ reduce-claims none 11.90 ms new
 ↳ reduce-in-rows none 2.87 ms new
aggregate-leanxmss-100-4to1-8thread-node x86-64 none 250.14 ms new
 ↳ build-circuit none 36.83 ms new
 ↳ prove-recursion none 178.59 ms new
 ↳ reduce-claims none 15.31 ms new
 ↳ reduce-in-rows none 4.33 ms new
aggregate-leanxmss-100-4to1-first x86-64 155.10 ms 157.15 ms +1.39% (-2.07% to +12.16%)
 ↳ build-circuit 31.74 ms 32.29 ms -0.09% (-3.11% to +44.23%)
 ↳ prove-recursion 94.57 ms 94.74 ms +0.18% (-0.17% to +3.02%)
 ↳ reduce-claims 8.34 ms 8.76 ms -1.02% (-30.10% to +15.32%)
 ↳ reduce-in-rows 3.77 ms 4.08 ms +6.65% (+6.08% to +11.49%)
 ↳ verify 16.58 ms 16.74 ms +1.24% (+0.00% to +18.84%)
aggregate-leanxmss-100-4to1-node x86-64 166.16 ms 167.23 ms +0.53% (-3.00% to +2.18%)
 ↳ build-circuit 36.57 ms 37.51 ms +1.65% (-1.14% to +6.14%)
 ↳ prove-recursion 98.03 ms 97.99 ms +0.17% (-0.31% to +0.84%)
 ↳ reduce-claims 12.43 ms 12.52 ms -2.01% (-32.50% to +9.70%)
 ↳ reduce-in-rows 4.08 ms 4.40 ms +7.74% (+6.78% to +8.48%)
leanxmss-100-1thread x86-64 1.02 s 1.02 s -0.06% (-0.23% to +0.98%)
 ↳ build-witness 74.61 ms 74.43 ms -0.25% (-1.17% to +0.34%)
 ↳ commit 177.73 ms 179.62 ms +1.05% (-0.79% to +1.38%)
 ↳ execute-program 13.01 ms 13.00 ms +0.56% (-3.78% to +2.84%)
 ↳ flock-reductions 304.85 ms 304.47 ms -0.36% (-1.40% to +0.88%)
 ↳ pcs-open 348.17 ms 347.80 ms -0.11% (-0.64% to +1.29%)
 ↳ prove-bus 83.68 ms 84.76 ms +1.30% (+0.11% to +4.62%)
 ↳ prove-constraints 18.83 ms 18.73 ms -0.51% (-1.53% to +0.04%)
leanxmss-100-4thread arm64 none 555.42 ms new
 ↳ build-witness none 17.91 ms new
 ↳ commit none 90.57 ms new
 ↳ execute-program none 10.18 ms new
 ↳ flock-reductions none 187.97 ms new
 ↳ pcs-open none 211.38 ms new
 ↳ prove-bus none 32.60 ms new
 ↳ prove-constraints none 5.51 ms new
leanxmss-100-4thread x86-64 none 297.17 ms new
 ↳ build-witness none 21.22 ms new
 ↳ commit none 45.64 ms new
 ↳ execute-program none 13.30 ms new
 ↳ flock-reductions none 88.81 ms new
 ↳ pcs-open none 94.31 ms new
 ↳ prove-bus none 25.95 ms new
 ↳ prove-constraints none 7.33 ms new
leanxmss-100-8thread arm64 none 350.14 ms new
 ↳ build-witness none 9.83 ms new
 ↳ commit none 46.27 ms new
 ↳ execute-program none 10.11 ms new
 ↳ flock-reductions none 104.31 ms new
 ↳ pcs-open none 156.30 ms new
 ↳ prove-bus none 19.04 ms new
 ↳ prove-constraints none 4.19 ms new
leanxmss-100-8thread x86-64 none 179.31 ms new
 ↳ build-witness none 11.53 ms new
 ↳ commit none 25.55 ms new
 ↳ execute-program none 12.42 ms new
 ↳ flock-reductions none 51.49 ms new
 ↳ pcs-open none 57.59 ms new
 ↳ prove-bus none 16.58 ms new
 ↳ prove-constraints none 5.11 ms new

Verifying time

benchmark runner base this PR change
aggregate-leanxmss-100-2to1-4thread-first arm64 none 3.51 ms new
aggregate-leanxmss-100-2to1-4thread-first x86-64 none 3.89 ms new
aggregate-leanxmss-100-2to1-4thread-node arm64 none 4.25 ms new
aggregate-leanxmss-100-2to1-4thread-node x86-64 none 4.84 ms new
aggregate-leanxmss-100-2to1-8thread-first arm64 none 3.50 ms new
aggregate-leanxmss-100-2to1-8thread-first x86-64 none 4.00 ms new
aggregate-leanxmss-100-2to1-8thread-node arm64 none 4.00 ms new
aggregate-leanxmss-100-2to1-8thread-node x86-64 none 4.54 ms new
aggregate-leanxmss-100-2to1-node x86-64 4.21 ms 4.12 ms -1.47% (-5.69% to -0.01%)
aggregate-leanxmss-100-4to1-4thread-first arm64 none 3.86 ms new
aggregate-leanxmss-100-4to1-4thread-first x86-64 none 4.23 ms new
aggregate-leanxmss-100-4to1-4thread-node arm64 none 5.31 ms new
aggregate-leanxmss-100-4to1-4thread-node x86-64 none 5.92 ms new
aggregate-leanxmss-100-4to1-8thread-first arm64 none 3.69 ms new
aggregate-leanxmss-100-4to1-8thread-first x86-64 none 4.03 ms new
aggregate-leanxmss-100-4to1-8thread-node arm64 none 4.52 ms new
aggregate-leanxmss-100-4to1-8thread-node x86-64 none 5.12 ms new
leansphincs-26 x86-64 4.67 ms 4.58 ms -1.40% (-2.24% to -0.19%)
leanxmss-100-4thread arm64 none 3.76 ms new
leanxmss-100-4thread x86-64 none 4.10 ms new
leanxmss-100-8thread arm64 none 3.82 ms new
leanxmss-100-8thread x86-64 none 3.89 ms new

Proof size

benchmark runner base this PR change
aggregate-leanxmss-100-2to1-4thread-first arm64 none 260,427 B new
aggregate-leanxmss-100-2to1-4thread-first x86-64 none 260,427 B new
aggregate-leanxmss-100-2to1-4thread-node arm64 none 259,659 B new
aggregate-leanxmss-100-2to1-4thread-node x86-64 none 259,659 B new
aggregate-leanxmss-100-2to1-8thread-first arm64 none 260,427 B new
aggregate-leanxmss-100-2to1-8thread-first x86-64 none 260,427 B new
aggregate-leanxmss-100-2to1-8thread-node arm64 none 259,659 B new
aggregate-leanxmss-100-2to1-8thread-node x86-64 none 259,659 B new
aggregate-leanxmss-100-4to1-4thread-first arm64 none 283,331 B new
aggregate-leanxmss-100-4to1-4thread-first x86-64 none 283,331 B new
aggregate-leanxmss-100-4to1-4thread-node arm64 none 285,027 B new
aggregate-leanxmss-100-4to1-4thread-node x86-64 none 285,027 B new
aggregate-leanxmss-100-4to1-8thread-first arm64 none 283,331 B new
aggregate-leanxmss-100-4to1-8thread-first x86-64 none 283,331 B new
aggregate-leanxmss-100-4to1-8thread-node arm64 none 285,027 B new
aggregate-leanxmss-100-4to1-8thread-node x86-64 none 285,027 B new
leanxmss-100-4thread arm64 none 307,670 B new
leanxmss-100-4thread x86-64 none 307,670 B new
leanxmss-100-8thread arm64 none 307,670 B new
leanxmss-100-8thread x86-64 none 307,670 B new

Peak memory

benchmark runner base this PR change
aggregate-leanxmss-100-2to1-4thread-first arm64 none 1844.75 MiB new
aggregate-leanxmss-100-2to1-4thread-first x86-64 none 1202.67 MiB new
aggregate-leanxmss-100-2to1-4thread-node arm64 none 1851.25 MiB new
aggregate-leanxmss-100-2to1-4thread-node x86-64 none 1211.07 MiB new
aggregate-leanxmss-100-2to1-8thread-first arm64 none 1885.67 MiB new
aggregate-leanxmss-100-2to1-8thread-first x86-64 none 1186.42 MiB new
aggregate-leanxmss-100-2to1-8thread-node arm64 none 1904.98 MiB new
aggregate-leanxmss-100-2to1-8thread-node x86-64 none 1205.73 MiB new
aggregate-leanxmss-100-4to1-4thread-first arm64 none 2337.11 MiB new
aggregate-leanxmss-100-4to1-4thread-first x86-64 none 1491.92 MiB new
aggregate-leanxmss-100-4to1-4thread-node arm64 none 2351.68 MiB new
aggregate-leanxmss-100-4to1-4thread-node x86-64 none 1503.87 MiB new
aggregate-leanxmss-100-4to1-8thread-first arm64 none 2384.43 MiB new
aggregate-leanxmss-100-4to1-8thread-first x86-64 none 1196.33 MiB new
aggregate-leanxmss-100-4to1-8thread-node arm64 none 2402.13 MiB new
aggregate-leanxmss-100-4to1-8thread-node x86-64 none 1215.67 MiB new
leanxmss-100-4thread arm64 none 1635.23 MiB new
leanxmss-100-4thread x86-64 none 1000.27 MiB new
leanxmss-100-8thread arm64 none 1663.94 MiB new
leanxmss-100-8thread x86-64 none 782.46 MiB new

allocations

benchmark runner base this PR change
aggregate-leanxmss-100-2to1-4thread-first arm64 none 23.44 µs new
aggregate-leanxmss-100-2to1-4thread-first x86-64 none 23.49 µs new
aggregate-leanxmss-100-2to1-4thread-node arm64 none 27.33 µs new
aggregate-leanxmss-100-2to1-4thread-node x86-64 none 27.38 µs new
aggregate-leanxmss-100-2to1-8thread-first arm64 none 23.56 µs new
aggregate-leanxmss-100-2to1-8thread-first x86-64 none 23.60 µs new
aggregate-leanxmss-100-2to1-8thread-node arm64 none 27.45 µs new
aggregate-leanxmss-100-2to1-8thread-node x86-64 none 27.49 µs new
aggregate-leanxmss-100-4to1-4thread-first arm64 none 41.95 µs new
aggregate-leanxmss-100-4to1-4thread-first x86-64 none 42.00 µs new
aggregate-leanxmss-100-4to1-4thread-node arm64 none 49.86 µs new
aggregate-leanxmss-100-4to1-4thread-node x86-64 none 49.90 µs new
aggregate-leanxmss-100-4to1-8thread-first arm64 none 42.09 µs new
aggregate-leanxmss-100-4to1-8thread-first x86-64 none 42.14 µs new
aggregate-leanxmss-100-4to1-8thread-node arm64 none 50.00 µs new
aggregate-leanxmss-100-4to1-8thread-node x86-64 none 50.05 µs new
leanxmss-100-4thread arm64 none 25.32 µs new
leanxmss-100-4thread x86-64 none 25.77 µs new
leanxmss-100-8thread arm64 none 25.62 µs new
leanxmss-100-8thread x86-64 none 26.07 µs new

heap-peak

benchmark runner base this PR change
aggregate-leanxmss-100-2to1-4thread-first arm64 none 738.64 ms new
aggregate-leanxmss-100-2to1-4thread-first x86-64 none 373.35 ms new
aggregate-leanxmss-100-2to1-4thread-node arm64 none 738.30 ms new
aggregate-leanxmss-100-2to1-4thread-node x86-64 none 373.01 ms new
aggregate-leanxmss-100-2to1-8thread-first arm64 none 738.59 ms new
aggregate-leanxmss-100-2to1-8thread-first x86-64 none 373.37 ms new
aggregate-leanxmss-100-2to1-8thread-node arm64 none 738.25 ms new
aggregate-leanxmss-100-2to1-8thread-node x86-64 none 373.03 ms new
aggregate-leanxmss-100-4to1-4thread-first arm64 none 1.48 s new
aggregate-leanxmss-100-4to1-4thread-first x86-64 none 746.27 ms new
aggregate-leanxmss-100-4to1-4thread-node arm64 none 1.48 s new
aggregate-leanxmss-100-4to1-4thread-node x86-64 none 745.71 ms new
aggregate-leanxmss-100-4to1-8thread-first arm64 none 1.48 s new
aggregate-leanxmss-100-4to1-8thread-first x86-64 none 746.39 ms new
aggregate-leanxmss-100-4to1-8thread-node arm64 none 1.48 s new
aggregate-leanxmss-100-4to1-8thread-node x86-64 none 745.83 ms new
leanxmss-100-4thread arm64 none 1.49 s new
leanxmss-100-4thread x86-64 none 667.34 ms new
leanxmss-100-8thread arm64 none 1.49 s new
leanxmss-100-8thread x86-64 none 667.24 ms new
Every result

Proving time

benchmark runner CPU base this PR change
aggregate-leanxmss-100-2to1-1thread-first arm64 Neoverse-V2 1.07 s 1.07 s -0.16% (-0.56% to +0.64%)
aggregate-leanxmss-100-2to1-1thread-first x86-64 INTEL(R) XEON(R) GOLD 6548N 625.34 ms 620.58 ms -1.05% (-2.25% to +1.32%)
aggregate-leanxmss-100-2to1-1thread-node arm64 Neoverse-V2 1.12 s 1.13 s +0.40% (-0.02% to +13.88%)
aggregate-leanxmss-100-2to1-1thread-node x86-64 INTEL(R) XEON(R) GOLD 6548N 652.53 ms 651.97 ms -0.22% (-0.90% to +0.20%)
aggregate-leanxmss-100-2to1-4thread-first arm64 Neoverse-V2 none 300.95 ms new
aggregate-leanxmss-100-2to1-4thread-first x86-64 INTEL(R) XEON(R) GOLD 6548N none 189.53 ms new
aggregate-leanxmss-100-2to1-4thread-node arm64 Neoverse-V2 none 313.93 ms new
aggregate-leanxmss-100-2to1-4thread-node x86-64 INTEL(R) XEON(R) GOLD 6548N none 199.62 ms new
aggregate-leanxmss-100-2to1-8thread-first arm64 Neoverse-V2 none 198.92 ms new
aggregate-leanxmss-100-2to1-8thread-first x86-64 INTEL(R) XEON(R) GOLD 6548N none 131.20 ms new
aggregate-leanxmss-100-2to1-8thread-node arm64 Neoverse-V2 none 208.39 ms new
aggregate-leanxmss-100-2to1-8thread-node x86-64 INTEL(R) XEON(R) GOLD 6548N none 137.50 ms new
aggregate-leanxmss-100-2to1-first arm64 Neoverse-V2 127.29 ms 128.07 ms +0.25% (-3.53% to +3.37%)
aggregate-leanxmss-100-2to1-first x86-64 INTEL(R) XEON(R) GOLD 6548N 85.18 ms 85.72 ms +0.11% (-1.88% to +1.73%)
aggregate-leanxmss-100-2to1-node arm64 Neoverse-V2 131.93 ms 131.87 ms -0.17% (-1.49% to +0.89%)
aggregate-leanxmss-100-2to1-node x86-64 INTEL(R) XEON(R) GOLD 6548N 89.28 ms 87.58 ms -1.95% (-4.88% to +0.04%)
aggregate-leanxmss-100-4to1-1thread-first arm64 Neoverse-V2 2.15 s 2.15 s -0.23% (-0.47% to +0.75%)
aggregate-leanxmss-100-4to1-1thread-first x86-64 INTEL(R) XEON(R) GOLD 6548N 1.17 s 1.18 s +0.16% (-0.19% to +0.62%)
aggregate-leanxmss-100-4to1-1thread-node arm64 Neoverse-V2 2.32 s 2.32 s +0.30% (-0.57% to +0.55%)
aggregate-leanxmss-100-4to1-1thread-node x86-64 INTEL(R) XEON(R) GOLD 6548N 1.28 s 1.28 s +0.12% (-0.08% to +0.15%)
aggregate-leanxmss-100-4to1-4thread-first arm64 Neoverse-V2 none 586.19 ms new
aggregate-leanxmss-100-4to1-4thread-first x86-64 INTEL(R) XEON(R) GOLD 6548N none 361.67 ms new
aggregate-leanxmss-100-4to1-4thread-node arm64 Neoverse-V2 none 633.91 ms new
aggregate-leanxmss-100-4to1-4thread-node x86-64 INTEL(R) XEON(R) GOLD 6548N none 391.02 ms new
aggregate-leanxmss-100-4to1-8thread-first arm64 Neoverse-V2 none 373.41 ms new
aggregate-leanxmss-100-4to1-8thread-first x86-64 INTEL(R) XEON(R) GOLD 6548N none 226.94 ms new
aggregate-leanxmss-100-4to1-8thread-node arm64 Neoverse-V2 none 400.73 ms new
aggregate-leanxmss-100-4to1-8thread-node x86-64 INTEL(R) XEON(R) GOLD 6548N none 250.14 ms new
aggregate-leanxmss-100-4to1-first arm64 Neoverse-V2 234.90 ms 234.73 ms +0.29% (-0.59% to +1.28%)
aggregate-leanxmss-100-4to1-first x86-64 INTEL(R) XEON(R) GOLD 6548N 155.10 ms 157.15 ms +1.39% (-2.07% to +12.16%)
aggregate-leanxmss-100-4to1-node arm64 Neoverse-V2 253.98 ms 254.26 ms -0.16% (-0.52% to +0.70%)
aggregate-leanxmss-100-4to1-node x86-64 INTEL(R) XEON(R) GOLD 6548N 166.16 ms 167.23 ms +0.53% (-3.00% to +2.18%)
falcon-7 arm64 Neoverse-V2 725.06 ms 723.84 ms +0.05% (-0.25% to +1.26%)
falcon-7 x86-64 INTEL(R) XEON(R) GOLD 6548N 329.00 ms 328.38 ms +0.11% (-0.73% to +0.47%)
fibonacci-asm-2000000 arm64 Neoverse-V2 1.05 s 1.05 s -0.26% (-0.70% to +0.35%)
fibonacci-asm-2000000 x86-64 INTEL(R) XEON(R) GOLD 6548N 475.92 ms 476.25 ms +0.08% (-0.90% to +0.66%)
flock-add-wrapping-batch-262144 arm64 Neoverse-V2 23.59 ms 21.09 ms -8.88% (-13.46% to +2.01%)
flock-add-wrapping-batch-262144 x86-64 INTEL(R) XEON(R) GOLD 6548N 9.58 ms 9.54 ms +2.82% (-20.53% to +17.18%)
flock-hash-batch-262144 arm64 Neoverse-V2 1.04 s 1.04 s -0.57% (-1.21% to +0.36%)
flock-hash-batch-262144 x86-64 INTEL(R) XEON(R) GOLD 6548N 343.70 ms 343.56 ms +0.02% (-1.04% to +0.95%)
flock-mul-widening-batch-262144 arm64 Neoverse-V2 474.55 ms 473.07 ms -0.24% (-1.23% to +0.52%)
flock-mul-widening-batch-262144 x86-64 INTEL(R) XEON(R) GOLD 6548N 157.05 ms 157.13 ms +0.18% (-0.45% to +0.83%)
flock-mul-wrapping-batch-262144 arm64 Neoverse-V2 263.70 ms 262.34 ms -0.67% (-3.18% to +0.80%)
flock-mul-wrapping-batch-262144 x86-64 INTEL(R) XEON(R) GOLD 6548N 85.21 ms 85.00 ms -0.06% (-7.52% to +2.20%)
hash-50000 arm64 Neoverse-V2 699.89 ms 698.16 ms -0.20% (-0.78% to +0.03%)
hash-50000 x86-64 INTEL(R) XEON(R) GOLD 6548N 312.11 ms 312.24 ms +0.04% (-0.46% to +0.84%)
leansphincs-26 arm64 Neoverse-V2 240.43 ms 242.00 ms +0.68% (-2.08% to +4.58%)
leansphincs-26 x86-64 INTEL(R) XEON(R) GOLD 6548N 135.24 ms 134.63 ms -0.58% (-1.38% to +0.77%)
leanxmss-100 arm64 Neoverse-V2 213.46 ms 213.19 ms -0.13% (-0.83% to +0.23%)
leanxmss-100 x86-64 INTEL(R) XEON(R) GOLD 6548N 115.64 ms 116.98 ms +1.40% (-0.17% to +1.60%)
leanxmss-100-1thread arm64 Neoverse-V2 2.06 s 2.06 s -0.09% (-0.60% to +0.03%)
leanxmss-100-1thread x86-64 INTEL(R) XEON(R) GOLD 6548N 1.02 s 1.02 s -0.06% (-0.23% to +0.98%)
leanxmss-100-4thread arm64 Neoverse-V2 none 555.42 ms new
leanxmss-100-4thread x86-64 INTEL(R) XEON(R) GOLD 6548N none 297.17 ms new
leanxmss-100-8thread arm64 Neoverse-V2 none 350.14 ms new
leanxmss-100-8thread x86-64 INTEL(R) XEON(R) GOLD 6548N none 179.31 ms new
pcs-commit-22 arm64 Neoverse-V2 8.67 ms 8.70 ms +0.57% (-1.71% to +1.01%)
pcs-commit-22 x86-64 INTEL(R) XEON(R) GOLD 6548N 4.01 ms 3.98 ms -1.50% (-1.69% to +1.68%)
pcs-open-22 arm64 Neoverse-V2 17.16 ms 17.21 ms +0.51% (-0.71% to +15.02%)
pcs-open-22 x86-64 INTEL(R) XEON(R) GOLD 6548N 15.86 ms 15.91 ms +2.41% (-0.78% to +3.21%)
shielded-258 arm64 Neoverse-V2 978.09 ms 980.03 ms +0.44% (-1.88% to +1.85%)
shielded-258 x86-64 INTEL(R) XEON(R) GOLD 6548N 455.73 ms 455.85 ms +0.03% (-1.77% to +1.50%)
stateproof-5 arm64 Neoverse-V2 1.61 s 1.61 s -0.50% (-0.99% to +0.56%)
stateproof-5 x86-64 INTEL(R) XEON(R) GOLD 6548N 690.22 ms 689.88 ms -0.03% (-0.32% to +0.10%)
Prover stages
benchmark runner CPU base this PR change
aggregate-leanxmss-100-2to1-1thread-first arm64 Neoverse-V2 1.07 s 1.07 s -0.16% (-0.56% to +0.64%)
 ↳ build-circuit 12.47 ms 12.35 ms +0.22% (-4.03% to +6.25%)
 ↳ prove-recursion 1.03 s 1.03 s -0.19% (-0.58% to +0.71%)
 ↳ reduce-claims 15.85 ms 15.63 ms -0.81% (-2.81% to +3.43%)
 ↳ reduce-in-rows 1.40 ms 1.42 ms +3.49% (-3.20% to +7.62%)
 ↳ verify 6.91 ms 6.92 ms +0.33% (-1.19% to +4.29%)
aggregate-leanxmss-100-2to1-1thread-first x86-64 INTEL(R) XEON(R) GOLD 6548N 625.34 ms 620.58 ms -1.05% (-2.25% to +1.32%)
 ↳ build-circuit 15.43 ms 15.43 ms +0.44% (-3.37% to +1.17%)
 ↳ prove-recursion 582.08 ms 576.36 ms -1.26% (-2.16% to +1.41%)
 ↳ reduce-claims 19.18 ms 18.84 ms -1.57% (-3.87% to +2.66%)
 ↳ reduce-in-rows 1.74 ms 1.89 ms +10.61% (+3.96% to +12.17%)
 ↳ verify 7.90 ms 7.88 ms -0.58% (-5.68% to +0.78%)
aggregate-leanxmss-100-2to1-1thread-node arm64 Neoverse-V2 1.12 s 1.13 s +0.40% (-0.02% to +13.88%)
 ↳ build-circuit 12.06 ms 12.36 ms +3.54% (-0.60% to +48.10%)
 ↳ prove-recursion 1.07 s 1.07 s +0.19% (+0.01% to +13.35%)
 ↳ reduce-claims 30.48 ms 30.57 ms +0.43% (-0.28% to +31.40%)
 ↳ reduce-in-rows 1.45 ms 1.47 ms -0.92% (-2.22% to +44.47%)
aggregate-leanxmss-100-2to1-1thread-node x86-64 INTEL(R) XEON(R) GOLD 6548N 652.53 ms 651.97 ms -0.22% (-0.90% to +0.20%)
 ↳ build-circuit 16.58 ms 15.75 ms -3.21% (-7.12% to +4.22%)
 ↳ prove-recursion 591.32 ms 591.13 ms -0.18% (-0.63% to +0.17%)
 ↳ reduce-claims 34.93 ms 34.32 ms -0.93% (-3.05% to +0.47%)
 ↳ reduce-in-rows 1.80 ms 1.94 ms +8.46% (+6.47% to +10.88%)
aggregate-leanxmss-100-2to1-4thread-first arm64 Neoverse-V2 none 300.95 ms new
 ↳ build-circuit none 10.48 ms new
 ↳ prove-recursion none 276.47 ms new
 ↳ reduce-claims none 5.47 ms new
 ↳ reduce-in-rows none 1.42 ms new
 ↳ verify none 6.75 ms new
aggregate-leanxmss-100-2to1-4thread-first x86-64 INTEL(R) XEON(R) GOLD 6548N none 189.53 ms new
 ↳ build-circuit none 14.86 ms new
 ↳ prove-recursion none 157.29 ms new
 ↳ reduce-claims none 6.90 ms new
 ↳ reduce-in-rows none 1.95 ms new
 ↳ verify none 7.87 ms new
aggregate-leanxmss-100-2to1-4thread-node arm64 Neoverse-V2 none 313.93 ms new
 ↳ build-circuit none 11.14 ms new
 ↳ prove-recursion none 285.08 ms new
 ↳ reduce-claims none 10.35 ms new
 ↳ reduce-in-rows none 1.44 ms new
aggregate-leanxmss-100-2to1-4thread-node x86-64 INTEL(R) XEON(R) GOLD 6548N none 199.62 ms new
 ↳ build-circuit none 16.19 ms new
 ↳ prove-recursion none 161.82 ms new
 ↳ reduce-claims none 12.18 ms new
 ↳ reduce-in-rows none 2.03 ms new
aggregate-leanxmss-100-2to1-8thread-first arm64 Neoverse-V2 none 198.92 ms new
 ↳ build-circuit none 10.60 ms new
 ↳ prove-recursion none 174.92 ms new
 ↳ reduce-claims none 4.49 ms new
 ↳ reduce-in-rows none 1.43 ms new
 ↳ verify none 6.97 ms new
aggregate-leanxmss-100-2to1-8thread-first x86-64 INTEL(R) XEON(R) GOLD 6548N none 131.20 ms new
 ↳ build-circuit none 15.25 ms new
 ↳ prove-recursion none 97.49 ms new
 ↳ reduce-claims none 6.39 ms new
 ↳ reduce-in-rows none 2.15 ms new
 ↳ verify none 8.16 ms new
aggregate-leanxmss-100-2to1-8thread-node arm64 Neoverse-V2 none 208.39 ms new
 ↳ build-circuit none 11.46 ms new
 ↳ prove-recursion none 181.05 ms new
 ↳ reduce-claims none 7.80 ms new
 ↳ reduce-in-rows none 1.44 ms new
aggregate-leanxmss-100-2to1-8thread-node x86-64 INTEL(R) XEON(R) GOLD 6548N none 137.50 ms new
 ↳ build-circuit none 16.01 ms new
 ↳ prove-recursion none 100.28 ms new
 ↳ reduce-claims none 11.30 ms new
 ↳ reduce-in-rows none 2.19 ms new
aggregate-leanxmss-100-2to1-first arm64 Neoverse-V2 127.29 ms 128.07 ms +0.25% (-3.53% to +3.37%)
 ↳ build-circuit 10.21 ms 10.27 ms +0.43% (-0.52% to +0.89%)
 ↳ prove-recursion 104.37 ms 104.85 ms -0.06% (-4.16% to +4.04%)
 ↳ reduce-claims 4.13 ms 4.29 ms +2.75% (-5.51% to +9.89%)
 ↳ reduce-in-rows 1.41 ms 1.36 ms -0.77% (-5.01% to +1.68%)
 ↳ verify 7.22 ms 7.19 ms -0.48% (-0.72% to -0.01%)
aggregate-leanxmss-100-2to1-first x86-64 INTEL(R) XEON(R) GOLD 6548N 85.18 ms 85.72 ms +0.11% (-1.88% to +1.73%)
 ↳ build-circuit 13.74 ms 13.88 ms +0.96% (-0.31% to +3.22%)
 ↳ prove-recursion 53.94 ms 53.76 ms -0.57% (-0.68% to +0.26%)
 ↳ reduce-claims 7.17 ms 7.26 ms +4.06% (-22.16% to +13.28%)
 ↳ reduce-in-rows 1.68 ms 1.83 ms +10.08% (+2.81% to +11.63%)
 ↳ verify 8.66 ms 8.61 ms -0.40% (-0.79% to +1.97%)
aggregate-leanxmss-100-2to1-node arm64 Neoverse-V2 131.93 ms 131.87 ms -0.17% (-1.49% to +0.89%)
 ↳ build-circuit 11.25 ms 11.13 ms -0.81% (-2.34% to +0.85%)
 ↳ prove-recursion 106.62 ms 106.61 ms -0.22% (-1.76% to +1.26%)
 ↳ reduce-claims 6.58 ms 6.59 ms +0.75% (-1.40% to +5.37%)
 ↳ reduce-in-rows 1.45 ms 1.43 ms -1.53% (-5.73% to +2.41%)
aggregate-leanxmss-100-2to1-node x86-64 INTEL(R) XEON(R) GOLD 6548N 89.28 ms 87.58 ms -1.95% (-4.88% to +0.04%)
 ↳ build-circuit 15.01 ms 14.70 ms -2.01% (-8.42% to +6.73%)
 ↳ prove-recursion 54.94 ms 54.92 ms -0.50% (-4.95% to +1.23%)
 ↳ reduce-claims 10.00 ms 9.01 ms -11.23% (-21.63% to +0.59%)
 ↳ reduce-in-rows 1.87 ms 2.03 ms +7.28% (+1.70% to +10.55%)
aggregate-leanxmss-100-4to1-1thread-first arm64 Neoverse-V2 2.15 s 2.15 s -0.23% (-0.47% to +0.75%)
 ↳ build-circuit 25.69 ms 26.16 ms +1.20% (-1.60% to +7.07%)
 ↳ prove-recursion 2.08 s 2.08 s -0.32% (-0.48% to +0.74%)
 ↳ reduce-claims 21.16 ms 21.38 ms +1.46% (-0.93% to +4.55%)
 ↳ reduce-in-rows 2.69 ms 2.75 ms +1.18% (-3.16% to +5.07%)
 ↳ verify 13.96 ms 14.22 ms +0.94% (-0.98% to +5.29%)
aggregate-leanxmss-100-4to1-1thread-first x86-64 INTEL(R) XEON(R) GOLD 6548N 1.17 s 1.18 s +0.16% (-0.19% to +0.62%)
 ↳ build-circuit 32.66 ms 32.71 ms -0.03% (-1.39% to +1.79%)
 ↳ prove-recursion 1.10 s 1.10 s +0.23% (-0.22% to +0.54%)
 ↳ reduce-claims 26.10 ms 26.09 ms -0.03% (-0.59% to +0.84%)
 ↳ reduce-in-rows 3.62 ms 3.91 ms +10.34% (+6.74% to +18.49%)
 ↳ verify 15.02 ms 15.07 ms +0.14% (-1.56% to +3.02%)
aggregate-leanxmss-100-4to1-1thread-node arm64 Neoverse-V2 2.32 s 2.32 s +0.30% (-0.57% to +0.55%)
 ↳ build-circuit 29.17 ms 29.76 ms +1.59% (-1.05% to +23.37%)
 ↳ prove-recursion 2.21 s 2.22 s -0.04% (-0.74% to +0.57%)
 ↳ reduce-claims 55.10 ms 55.77 ms +1.25% (-2.04% to +12.72%)
 ↳ reduce-in-rows 2.87 ms 2.98 ms +3.98% (+0.49% to +13.43%)
aggregate-leanxmss-100-4to1-1thread-node x86-64 INTEL(R) XEON(R) GOLD 6548N 1.28 s 1.28 s +0.12% (-0.08% to +0.15%)
 ↳ build-circuit 38.33 ms 38.72 ms -1.62% (-3.23% to +3.61%)
 ↳ prove-recursion 1.15 s 1.15 s +0.11% (-0.20% to +0.22%)
 ↳ reduce-claims 63.14 ms 62.84 ms -0.52% (-1.36% to +0.70%)
 ↳ reduce-in-rows 3.61 ms 3.98 ms +9.02% (+7.21% to +15.36%)
aggregate-leanxmss-100-4to1-4thread-first arm64 Neoverse-V2 none 586.19 ms new
 ↳ build-circuit none 21.16 ms new
 ↳ prove-recursion none 541.88 ms new
 ↳ reduce-claims none 7.25 ms new
 ↳ reduce-in-rows none 2.68 ms new
 ↳ verify none 13.26 ms new
aggregate-leanxmss-100-4to1-4thread-first x86-64 INTEL(R) XEON(R) GOLD 6548N none 361.67 ms new
 ↳ build-circuit none 32.73 ms new
 ↳ prove-recursion none 300.52 ms new
 ↳ reduce-claims none 9.73 ms new
 ↳ reduce-in-rows none 4.00 ms new
 ↳ verify none 15.19 ms new
aggregate-leanxmss-100-4to1-4thread-node arm64 Neoverse-V2 none 633.91 ms new
 ↳ build-circuit none 24.83 ms new
 ↳ prove-recursion none 575.63 ms new
 ↳ reduce-claims none 17.29 ms new
 ↳ reduce-in-rows none 2.86 ms new
aggregate-leanxmss-100-4to1-4thread-node x86-64 INTEL(R) XEON(R) GOLD 6548N none 391.02 ms new
 ↳ build-circuit none 37.41 ms new
 ↳ prove-recursion none 314.55 ms new
 ↳ reduce-claims none 20.45 ms new
 ↳ reduce-in-rows none 4.19 ms new
aggregate-leanxmss-100-4to1-8thread-first arm64 Neoverse-V2 none 373.41 ms new
 ↳ build-circuit none 20.65 ms new
 ↳ prove-recursion none 331.18 ms new
 ↳ reduce-claims none 5.21 ms new
 ↳ reduce-in-rows none 2.65 ms new
 ↳ verify none 13.53 ms new
aggregate-leanxmss-100-4to1-8thread-first x86-64 INTEL(R) XEON(R) GOLD 6548N none 226.94 ms new
 ↳ build-circuit none 32.40 ms new
 ↳ prove-recursion none 167.85 ms new
 ↳ reduce-claims none 7.79 ms new
 ↳ reduce-in-rows none 4.08 ms new
 ↳ verify none 15.38 ms new
aggregate-leanxmss-100-4to1-8thread-node arm64 Neoverse-V2 none 400.73 ms new
 ↳ build-circuit none 24.26 ms new
 ↳ prove-recursion none 348.81 ms new
 ↳ reduce-claims none 11.90 ms new
 ↳ reduce-in-rows none 2.87 ms new
aggregate-leanxmss-100-4to1-8thread-node x86-64 INTEL(R) XEON(R) GOLD 6548N none 250.14 ms new
 ↳ build-circuit none 36.83 ms new
 ↳ prove-recursion none 178.59 ms new
 ↳ reduce-claims none 15.31 ms new
 ↳ reduce-in-rows none 4.33 ms new
aggregate-leanxmss-100-4to1-first arm64 Neoverse-V2 234.90 ms 234.73 ms +0.29% (-0.59% to +1.28%)
 ↳ build-circuit 20.70 ms 20.66 ms -0.02% (-0.97% to +1.12%)
 ↳ prove-recursion 192.01 ms 192.06 ms +0.13% (-0.56% to +1.55%)
 ↳ reduce-claims 4.97 ms 5.10 ms +6.00% (-0.51% to +13.19%)
 ↳ reduce-in-rows 2.67 ms 2.70 ms +0.18% (-0.51% to +5.11%)
 ↳ verify 14.16 ms 14.19 ms +0.20% (-0.62% to +0.89%)
aggregate-leanxmss-100-4to1-first x86-64 INTEL(R) XEON(R) GOLD 6548N 155.10 ms 157.15 ms +1.39% (-2.07% to +12.16%)
 ↳ build-circuit 31.74 ms 32.29 ms -0.09% (-3.11% to +44.23%)
 ↳ prove-recursion 94.57 ms 94.74 ms +0.18% (-0.17% to +3.02%)
 ↳ reduce-claims 8.34 ms 8.76 ms -1.02% (-30.10% to +15.32%)
 ↳ reduce-in-rows 3.77 ms 4.08 ms +6.65% (+6.08% to +11.49%)
 ↳ verify 16.58 ms 16.74 ms +1.24% (+0.00% to +18.84%)
aggregate-leanxmss-100-4to1-node arm64 Neoverse-V2 253.98 ms 254.26 ms -0.16% (-0.52% to +0.70%)
 ↳ build-circuit 24.16 ms 24.20 ms +0.52% (-0.20% to +1.35%)
 ↳ prove-recursion 204.49 ms 204.78 ms -0.34% (-0.66% to +0.58%)
 ↳ reduce-claims 9.38 ms 9.62 ms +1.29% (-1.19% to +3.84%)
 ↳ reduce-in-rows 2.93 ms 2.88 ms +0.18% (-3.34% to +1.58%)
aggregate-leanxmss-100-4to1-node x86-64 INTEL(R) XEON(R) GOLD 6548N 166.16 ms 167.23 ms +0.53% (-3.00% to +2.18%)
 ↳ build-circuit 36.57 ms 37.51 ms +1.65% (-1.14% to +6.14%)
 ↳ prove-recursion 98.03 ms 97.99 ms +0.17% (-0.31% to +0.84%)
 ↳ reduce-claims 12.43 ms 12.52 ms -2.01% (-32.50% to +9.70%)
 ↳ reduce-in-rows 4.08 ms 4.40 ms +7.74% (+6.78% to +8.48%)
falcon-7 arm64 Neoverse-V2 725.06 ms 723.84 ms +0.05% (-0.25% to +1.26%)
 ↳ build-witness 25.12 ms 25.05 ms -0.22% (-2.69% to +0.07%)
 ↳ commit 98.24 ms 97.90 ms -0.23% (-0.35% to -0.04%)
 ↳ execute-program 31.48 ms 31.45 ms +0.12% (-4.32% to +1.61%)
 ↳ flock-reductions 191.12 ms 190.78 ms -0.23% (-0.95% to +4.65%)
 ↳ pcs-open 336.87 ms 337.72 ms +0.32% (-0.12% to +0.99%)
 ↳ prove-bus 33.27 ms 33.30 ms -0.01% (-0.49% to +1.58%)
 ↳ prove-constraints 7.61 ms 7.57 ms -0.57% (-1.73% to +0.51%)
falcon-7 x86-64 INTEL(R) XEON(R) GOLD 6548N 329.00 ms 328.38 ms +0.11% (-0.73% to +0.47%)
 ↳ build-witness 21.45 ms 21.33 ms -0.50% (-0.75% to +7.89%)
 ↳ commit 43.39 ms 43.20 ms -0.63% (-1.49% to +0.14%)
 ↳ execute-program 40.08 ms 40.20 ms +0.06% (-6.22% to +0.38%)
 ↳ flock-reductions 86.24 ms 86.51 ms +0.12% (-0.86% to +0.95%)
 ↳ pcs-open 103.81 ms 103.63 ms +0.49% (-0.50% to +0.85%)
 ↳ prove-bus 24.57 ms 24.29 ms +0.21% (-2.51% to +1.03%)
 ↳ prove-constraints 8.59 ms 8.70 ms -0.06% (-1.56% to +2.86%)
fibonacci-asm-2000000 arm64 Neoverse-V2 1.05 s 1.05 s -0.26% (-0.70% to +0.35%)
 ↳ build-witness 35.96 ms 35.77 ms -0.09% (-1.99% to +1.26%)
 ↳ commit 149.07 ms 148.46 ms -0.21% (-0.55% to +0.65%)
 ↳ execute-program 64.43 ms 63.31 ms -1.75% (-5.65% to +1.04%)
 ↳ flock-reductions 312.17 ms 312.28 ms +0.03% (-1.90% to +0.99%)
 ↳ pcs-open 424.50 ms 424.17 ms -0.40% (-0.50% to +0.86%)
 ↳ prove-bus 53.28 ms 53.07 ms -0.30% (-0.81% to +0.10%)
 ↳ prove-constraints 10.83 ms 10.79 ms -0.33% (-0.76% to +0.66%)
fibonacci-asm-2000000 x86-64 INTEL(R) XEON(R) GOLD 6548N 475.92 ms 476.25 ms +0.08% (-0.90% to +0.66%)
 ↳ build-witness 35.31 ms 35.15 ms -0.36% (-0.97% to +0.17%)
 ↳ commit 63.04 ms 63.13 ms -0.70% (-1.02% to +1.65%)
 ↳ execute-program 73.64 ms 73.51 ms -0.31% (-2.30% to +0.82%)
 ↳ flock-reductions 120.20 ms 120.81 ms +0.47% (-0.66% to +0.66%)
 ↳ pcs-open 135.83 ms 136.23 ms +0.29% (-3.80% to +0.34%)
 ↳ prove-bus 33.97 ms 34.01 ms +0.13% (-0.41% to +1.61%)
 ↳ prove-constraints 12.39 ms 12.48 ms +0.73% (-1.84% to +2.97%)
hash-50000 arm64 Neoverse-V2 699.89 ms 698.16 ms -0.20% (-0.78% to +0.03%)
 ↳ build-witness 24.57 ms 24.53 ms -0.17% (-0.70% to +0.29%)
 ↳ commit 97.42 ms 97.34 ms -0.21% (-0.32% to +0.33%)
 ↳ execute-program 23.38 ms 23.30 ms -0.34% (-2.62% to +0.29%)
 ↳ flock-reductions 179.03 ms 178.78 ms -0.35% (-0.40% to +0.07%)
 ↳ pcs-open 339.95 ms 339.48 ms -0.24% (-1.55% to +0.46%)
 ↳ prove-bus 27.76 ms 27.81 ms +0.36% (-0.71% to +0.85%)
 ↳ prove-constraints 7.18 ms 7.10 ms -0.74% (-1.65% to -0.32%)
hash-50000 x86-64 INTEL(R) XEON(R) GOLD 6548N 312.11 ms 312.24 ms +0.04% (-0.46% to +0.84%)
 ↳ build-witness 21.48 ms 21.58 ms +0.44% (-1.08% to +0.90%)
 ↳ commit 42.40 ms 42.72 ms +0.70% (-0.27% to +1.74%)
 ↳ execute-program 29.90 ms 30.03 ms +0.84% (-2.25% to +3.08%)
 ↳ flock-reductions 85.66 ms 86.45 ms +0.70% (-0.43% to +1.16%)
 ↳ pcs-open 103.22 ms 102.81 ms -0.51% (-1.07% to +0.38%)
 ↳ prove-bus 20.39 ms 20.46 ms -0.14% (-1.23% to +1.98%)
 ↳ prove-constraints 8.28 ms 8.29 ms -0.43% (-1.89% to +2.71%)
leansphincs-26 arm64 Neoverse-V2 240.43 ms 242.00 ms +0.68% (-2.08% to +4.58%)
 ↳ build-witness 7.19 ms 7.15 ms +0.36% (-0.99% to +1.55%)
 ↳ commit 28.11 ms 28.35 ms +0.30% (-1.32% to +1.40%)
 ↳ execute-program 11.62 ms 11.93 ms +2.42% (-1.54% to +3.04%)
 ↳ flock-reductions 68.87 ms 68.39 ms -0.18% (-4.37% to +3.25%)
 ↳ pcs-open 104.76 ms 107.75 ms +1.54% (-0.17% to +7.44%)
 ↳ prove-bus 14.35 ms 14.42 ms +0.20% (-10.68% to +1.39%)
 ↳ prove-constraints 4.30 ms 4.18 ms -0.02% (-6.30% to +3.14%)
leansphincs-26 x86-64 INTEL(R) XEON(R) GOLD 6548N 135.24 ms 134.63 ms -0.58% (-1.38% to +0.77%)
 ↳ build-witness 9.30 ms 8.99 ms -2.04% (-4.30% to +1.57%)
 ↳ commit 12.96 ms 12.96 ms -0.67% (-1.41% to +1.27%)
 ↳ execute-program 15.32 ms 15.32 ms -2.01% (-4.53% to +5.07%)
 ↳ flock-reductions 42.37 ms 42.56 ms -0.06% (-1.76% to +2.67%)
 ↳ pcs-open 35.86 ms 35.81 ms +0.31% (-3.91% to +0.91%)
 ↳ prove-bus 13.42 ms 13.16 ms -1.15% (-1.91% to +5.81%)
 ↳ prove-constraints 5.79 ms 5.63 ms -1.76% (-4.70% to +2.49%)
leanxmss-100 arm64 Neoverse-V2 213.46 ms 213.19 ms -0.13% (-0.83% to +0.23%)
 ↳ build-witness 6.04 ms 6.09 ms +0.60% (-2.15% to +1.11%)
 ↳ commit 24.35 ms 24.35 ms -0.18% (-0.56% to +0.17%)
 ↳ execute-program 10.08 ms 10.16 ms +0.79% (-2.81% to +2.07%)
 ↳ flock-reductions 63.09 ms 63.18 ms +0.14% (-2.70% to +0.65%)
 ↳ pcs-open 93.14 ms 93.15 ms -0.01% (-0.75% to +0.04%)
 ↳ prove-bus 12.53 ms 12.52 ms -0.02% (-0.67% to +0.89%)
 ↳ prove-constraints 3.79 ms 3.75 ms -0.91% (-2.10% to +1.41%)
leanxmss-100 x86-64 INTEL(R) XEON(R) GOLD 6548N 115.64 ms 116.98 ms +1.40% (-0.17% to +1.60%)
 ↳ build-witness 6.38 ms 6.42 ms +0.11% (-0.12% to +0.83%)
 ↳ commit 11.17 ms 11.26 ms +0.88% (-0.20% to +1.13%)
 ↳ execute-program 13.17 ms 13.11 ms +0.22% (-4.71% to +0.94%)
 ↳ flock-reductions 37.13 ms 37.34 ms +0.59% (-0.11% to +1.09%)
 ↳ pcs-open 31.54 ms 32.74 ms +4.09% (-0.43% to +6.42%)
 ↳ prove-bus 11.24 ms 11.17 ms -0.20% (-2.19% to +0.85%)
 ↳ prove-constraints 4.70 ms 4.64 ms -1.14% (-4.87% to +3.52%)
leanxmss-100-1thread arm64 Neoverse-V2 2.06 s 2.06 s -0.09% (-0.60% to +0.03%)
 ↳ build-witness 65.54 ms 65.80 ms +0.56% (-2.05% to +2.34%)
 ↳ commit 356.79 ms 357.67 ms -0.12% (-0.63% to +0.51%)
 ↳ execute-program 10.26 ms 10.19 ms +0.20% (-1.32% to +2.55%)
 ↳ flock-reductions 700.76 ms 700.49 ms -0.05% (-0.40% to +0.39%)
 ↳ pcs-open 798.13 ms 793.40 ms -0.59% (-1.65% to +0.58%)
 ↳ prove-bus 116.90 ms 116.90 ms +0.00% (-2.39% to +0.98%)
 ↳ prove-constraints 14.24 ms 14.09 ms +0.39% (-7.29% to +7.79%)
leanxmss-100-1thread x86-64 INTEL(R) XEON(R) GOLD 6548N 1.02 s 1.02 s -0.06% (-0.23% to +0.98%)
 ↳ build-witness 74.61 ms 74.43 ms -0.25% (-1.17% to +0.34%)
 ↳ commit 177.73 ms 179.62 ms +1.05% (-0.79% to +1.38%)
 ↳ execute-program 13.01 ms 13.00 ms +0.56% (-3.78% to +2.84%)
 ↳ flock-reductions 304.85 ms 304.47 ms -0.36% (-1.40% to +0.88%)
 ↳ pcs-open 348.17 ms 347.80 ms -0.11% (-0.64% to +1.29%)
 ↳ prove-bus 83.68 ms 84.76 ms +1.30% (+0.11% to +4.62%)
 ↳ prove-constraints 18.83 ms 18.73 ms -0.51% (-1.53% to +0.04%)
leanxmss-100-4thread arm64 Neoverse-V2 none 555.42 ms new
 ↳ build-witness none 17.91 ms new
 ↳ commit none 90.57 ms new
 ↳ execute-program none 10.18 ms new
 ↳ flock-reductions none 187.97 ms new
 ↳ pcs-open none 211.38 ms new
 ↳ prove-bus none 32.60 ms new
 ↳ prove-constraints none 5.51 ms new
leanxmss-100-4thread x86-64 INTEL(R) XEON(R) GOLD 6548N none 297.17 ms new
 ↳ build-witness none 21.22 ms new
 ↳ commit none 45.64 ms new
 ↳ execute-program none 13.30 ms new
 ↳ flock-reductions none 88.81 ms new
 ↳ pcs-open none 94.31 ms new
 ↳ prove-bus none 25.95 ms new
 ↳ prove-constraints none 7.33 ms new
leanxmss-100-8thread arm64 Neoverse-V2 none 350.14 ms new
 ↳ build-witness none 9.83 ms new
 ↳ commit none 46.27 ms new
 ↳ execute-program none 10.11 ms new
 ↳ flock-reductions none 104.31 ms new
 ↳ pcs-open none 156.30 ms new
 ↳ prove-bus none 19.04 ms new
 ↳ prove-constraints none 4.19 ms new
leanxmss-100-8thread x86-64 INTEL(R) XEON(R) GOLD 6548N none 179.31 ms new
 ↳ build-witness none 11.53 ms new
 ↳ commit none 25.55 ms new
 ↳ execute-program none 12.42 ms new
 ↳ flock-reductions none 51.49 ms new
 ↳ pcs-open none 57.59 ms new
 ↳ prove-bus none 16.58 ms new
 ↳ prove-constraints none 5.11 ms new
shielded-258 arm64 Neoverse-V2 978.09 ms 980.03 ms +0.44% (-1.88% to +1.85%)
 ↳ build-witness 31.95 ms 31.78 ms -0.13% (-2.04% to -0.06%)
 ↳ commit 134.94 ms 135.32 ms +0.32% (-0.80% to +1.00%)
 ↳ execute-program 58.09 ms 58.03 ms -0.12% (-0.95% to +0.75%)
 ↳ flock-reductions 253.81 ms 254.06 ms +0.36% (-0.99% to +6.91%)
 ↳ pcs-open 433.81 ms 434.64 ms +0.32% (-3.00% to +0.83%)
 ↳ prove-bus 54.95 ms 54.93 ms -0.20% (-0.81% to +0.13%)
 ↳ prove-constraints 9.95 ms 10.02 ms +0.17% (-0.75% to +1.69%)
shielded-258 x86-64 INTEL(R) XEON(R) GOLD 6548N 455.73 ms 455.85 ms +0.03% (-1.77% to +1.50%)
 ↳ build-witness 33.28 ms 33.93 ms -0.26% (-1.23% to +3.43%)
 ↳ commit 58.52 ms 58.95 ms +0.20% (-2.73% to +4.10%)
 ↳ execute-program 67.31 ms 66.65 ms +0.31% (-4.06% to +1.71%)
 ↳ flock-reductions 114.34 ms 113.56 ms -0.78% (-2.26% to +0.82%)
 ↳ pcs-open 131.81 ms 132.69 ms +0.67% (-1.18% to +1.53%)
 ↳ prove-bus 38.69 ms 38.20 ms +0.05% (-2.33% to +5.07%)
 ↳ prove-constraints 12.23 ms 12.20 ms -0.24% (-3.43% to +1.63%)
stateproof-5 arm64 Neoverse-V2 1.61 s 1.61 s -0.50% (-0.99% to +0.56%)
 ↳ build-witness 53.95 ms 54.05 ms -0.16% (-2.02% to +3.28%)
 ↳ commit 227.38 ms 227.42 ms -0.17% (-1.69% to +1.95%)
 ↳ execute-program 78.39 ms 77.69 ms -0.80% (-0.90% to +0.28%)
 ↳ flock-reductions 393.26 ms 391.27 ms +0.39% (-1.63% to +0.95%)
 ↳ pcs-open 765.57 ms 763.17 ms -0.84% (-2.31% to +1.53%)
 ↳ prove-bus 85.63 ms 83.96 ms -1.82% (-5.34% to +5.38%)
 ↳ prove-constraints 16.05 ms 16.01 ms -0.20% (-3.64% to +2.92%)
stateproof-5 x86-64 INTEL(R) XEON(R) GOLD 6548N 690.22 ms 689.88 ms -0.03% (-0.32% to +0.10%)
 ↳ build-witness 50.04 ms 49.53 ms -1.08% (-1.39% to +3.48%)
 ↳ commit 94.93 ms 95.07 ms +0.22% (-0.01% to +0.41%)
 ↳ execute-program 86.58 ms 85.94 ms -0.52% (-2.33% to +1.21%)
 ↳ flock-reductions 168.73 ms 168.74 ms -0.12% (-1.60% to +0.83%)
 ↳ pcs-open 218.09 ms 217.71 ms -0.17% (-1.17% to +1.00%)
 ↳ prove-bus 52.73 ms 52.30 ms -0.62% (-1.11% to +1.16%)
 ↳ prove-constraints 19.09 ms 19.12 ms +0.05% (-0.36% to +2.01%)

Verifying time

benchmark runner CPU base this PR change
aggregate-leanxmss-100-2to1-1thread-first arm64 Neoverse-V2 4.77 ms 4.66 ms -2.38% (-5.58% to +18.21%)
aggregate-leanxmss-100-2to1-1thread-first x86-64 INTEL(R) XEON(R) GOLD 6548N 4.69 ms 4.78 ms +1.33% (-2.59% to +4.45%)
aggregate-leanxmss-100-2to1-1thread-node arm64 Neoverse-V2 7.45 ms 7.44 ms -1.83% (-2.80% to +15.92%)
aggregate-leanxmss-100-2to1-1thread-node x86-64 INTEL(R) XEON(R) GOLD 6548N 8.59 ms 8.51 ms +0.61% (-12.59% to +2.51%)
aggregate-leanxmss-100-2to1-4thread-first arm64 Neoverse-V2 none 3.51 ms new
aggregate-leanxmss-100-2to1-4thread-first x86-64 INTEL(R) XEON(R) GOLD 6548N none 3.89 ms new
aggregate-leanxmss-100-2to1-4thread-node arm64 Neoverse-V2 none 4.25 ms new
aggregate-leanxmss-100-2to1-4thread-node x86-64 INTEL(R) XEON(R) GOLD 6548N none 4.84 ms new
aggregate-leanxmss-100-2to1-8thread-first arm64 Neoverse-V2 none 3.50 ms new
aggregate-leanxmss-100-2to1-8thread-first x86-64 INTEL(R) XEON(R) GOLD 6548N none 4.00 ms new
aggregate-leanxmss-100-2to1-8thread-node arm64 Neoverse-V2 none 4.00 ms new
aggregate-leanxmss-100-2to1-8thread-node x86-64 INTEL(R) XEON(R) GOLD 6548N none 4.54 ms new
aggregate-leanxmss-100-2to1-first arm64 Neoverse-V2 3.49 ms 3.52 ms -0.20% (-1.73% to +1.68%)
aggregate-leanxmss-100-2to1-first x86-64 INTEL(R) XEON(R) GOLD 6548N 4.15 ms 4.22 ms +2.17% (-10.91% to +3.41%)
aggregate-leanxmss-100-2to1-node arm64 Neoverse-V2 3.75 ms 3.73 ms -0.32% (-0.89% to +0.31%)
aggregate-leanxmss-100-2to1-node x86-64 INTEL(R) XEON(R) GOLD 6548N 4.21 ms 4.12 ms -1.47% (-5.69% to -0.01%)
aggregate-leanxmss-100-4to1-1thread-first arm64 Neoverse-V2 5.64 ms 5.57 ms -0.41% (-7.77% to +3.93%)
aggregate-leanxmss-100-4to1-1thread-first x86-64 INTEL(R) XEON(R) GOLD 6548N 5.20 ms 5.28 ms +4.24% (-3.42% to +6.13%)
aggregate-leanxmss-100-4to1-1thread-node arm64 Neoverse-V2 11.21 ms 11.26 ms -0.60% (-3.27% to +7.33%)
aggregate-leanxmss-100-4to1-1thread-node x86-64 INTEL(R) XEON(R) GOLD 6548N 12.26 ms 12.37 ms +1.83% (-2.09% to +4.29%)
aggregate-leanxmss-100-4to1-4thread-first arm64 Neoverse-V2 none 3.86 ms new
aggregate-leanxmss-100-4to1-4thread-first x86-64 INTEL(R) XEON(R) GOLD 6548N none 4.23 ms new
aggregate-leanxmss-100-4to1-4thread-node arm64 Neoverse-V2 none 5.31 ms new
aggregate-leanxmss-100-4to1-4thread-node x86-64 INTEL(R) XEON(R) GOLD 6548N none 5.92 ms new
aggregate-leanxmss-100-4to1-8thread-first arm64 Neoverse-V2 none 3.69 ms new
aggregate-leanxmss-100-4to1-8thread-first x86-64 INTEL(R) XEON(R) GOLD 6548N none 4.03 ms new
aggregate-leanxmss-100-4to1-8thread-node arm64 Neoverse-V2 none 4.52 ms new
aggregate-leanxmss-100-4to1-8thread-node x86-64 INTEL(R) XEON(R) GOLD 6548N none 5.12 ms new
aggregate-leanxmss-100-4to1-first arm64 Neoverse-V2 3.71 ms 3.72 ms +0.26% (-1.40% to +3.18%)
aggregate-leanxmss-100-4to1-first x86-64 INTEL(R) XEON(R) GOLD 6548N 4.51 ms 4.45 ms +2.64% (-6.28% to +3.05%)
aggregate-leanxmss-100-4to1-node arm64 Neoverse-V2 4.22 ms 4.23 ms -0.31% (-1.04% to +3.72%)
aggregate-leanxmss-100-4to1-node x86-64 INTEL(R) XEON(R) GOLD 6548N 4.68 ms 4.73 ms +1.53% (-1.50% to +3.62%)
falcon-7 arm64 Neoverse-V2 4.19 ms 4.19 ms +0.42% (-0.67% to +0.92%)
falcon-7 x86-64 INTEL(R) XEON(R) GOLD 6548N 4.80 ms 4.79 ms -0.09% (-2.67% to +1.55%)
fibonacci-asm-2000000 arm64 Neoverse-V2 4.02 ms 4.01 ms +0.16% (-0.24% to +2.99%)
fibonacci-asm-2000000 x86-64 INTEL(R) XEON(R) GOLD 6548N 4.57 ms 4.54 ms -0.54% (-3.32% to +2.37%)
hash-50000 arm64 Neoverse-V2 4.02 ms 4.03 ms -0.05% (-0.27% to +0.78%)
hash-50000 x86-64 INTEL(R) XEON(R) GOLD 6548N 4.46 ms 4.46 ms -0.03% (-0.75% to +1.80%)
leansphincs-26 arm64 Neoverse-V2 4.04 ms 4.13 ms +2.21% (-3.54% to +3.83%)
leansphincs-26 x86-64 INTEL(R) XEON(R) GOLD 6548N 4.67 ms 4.58 ms -1.40% (-2.24% to -0.19%)
leanxmss-100 arm64 Neoverse-V2 3.98 ms 3.97 ms -0.41% (-0.51% to +0.11%)
leanxmss-100 x86-64 INTEL(R) XEON(R) GOLD 6548N 4.47 ms 4.44 ms -0.12% (-2.54% to +1.44%)
leanxmss-100-1thread arm64 Neoverse-V2 3.83 ms 3.84 ms +0.02% (-0.36% to +4.02%)
leanxmss-100-1thread x86-64 INTEL(R) XEON(R) GOLD 6548N 4.06 ms 4.10 ms +0.79% (-0.18% to +1.69%)
leanxmss-100-4thread arm64 Neoverse-V2 none 3.76 ms new
leanxmss-100-4thread x86-64 INTEL(R) XEON(R) GOLD 6548N none 4.10 ms new
leanxmss-100-8thread arm64 Neoverse-V2 none 3.82 ms new
leanxmss-100-8thread x86-64 INTEL(R) XEON(R) GOLD 6548N none 3.89 ms new
shielded-258 arm64 Neoverse-V2 4.24 ms 4.24 ms -0.62% (-1.10% to +0.46%)
shielded-258 x86-64 INTEL(R) XEON(R) GOLD 6548N 4.77 ms 4.75 ms -0.49% (-1.95% to +1.65%)
stateproof-5 arm64 Neoverse-V2 4.66 ms 4.54 ms -1.63% (-2.92% to +1.94%)
stateproof-5 x86-64 INTEL(R) XEON(R) GOLD 6548N 4.82 ms 4.82 ms -0.08% (-0.74% to -0.02%)

Time per operation

benchmark runner CPU base this PR change
blake2s-batch arm64 Neoverse-V2 3.84 ns 3.84 ns +0.00% (-0.16% to +0.21%)
blake2s-batch x86-64 INTEL(R) XEON(R) GOLD 6548N 0.80 ns 0.80 ns +0.00% (+0.00% to +0.25%)
f192-inv arm64 Neoverse-V2 244.95 ns 244.96 ns -0.01% (-0.12% to +0.01%)
f192-inv x86-64 INTEL(R) XEON(R) GOLD 6548N 266.15 ns 266.52 ns +0.21% (-0.06% to +0.88%)
f192-mul-latency arm64 Neoverse-V2 8.03 ns 8.02 ns -0.07% (-0.43% to +0.31%)
f192-mul-latency x86-64 INTEL(R) XEON(R) GOLD 6548N 7.54 ns 7.56 ns +0.19% (-0.50% to +0.76%)
f192-mul-throughput arm64 Neoverse-V2 2.94 ns 2.94 ns +0.03% (+0.00% to +0.58%)
f192-mul-throughput x86-64 INTEL(R) XEON(R) GOLD 6548N 4.46 ns 4.45 ns -0.20% (-0.40% to +3.50%)
f192-mul4-latency arm64 Neoverse-V2 13.12 ns 13.07 ns -0.43% (-0.89% to +2.72%)
f192-mul4-latency x86-64 INTEL(R) XEON(R) GOLD 6548N 10.11 ns 10.11 ns -0.06% (-0.47% to +0.04%)
f192-mul4-throughput arm64 Neoverse-V2 10.76 ns 10.76 ns +0.00% (-0.12% to +0.09%)
f192-mul4-throughput x86-64 INTEL(R) XEON(R) GOLD 6548N 15.63 ns 15.63 ns +0.00% (-0.47% to +0.78%)
f192-square arm64 Neoverse-V2 1.70 ns 1.70 ns +0.00% (-0.47% to +0.06%)
f192-square x86-64 INTEL(R) XEON(R) GOLD 6548N 3.34 ns 3.34 ns -0.21% (-0.64% to +1.83%)
f64-inv arm64 Neoverse-V2 211.50 ns 211.54 ns +0.03% (-0.04% to +0.11%)
f64-inv x86-64 INTEL(R) XEON(R) GOLD 6548N 237.71 ns 237.91 ns +0.09% (-0.06% to +0.19%)
f64-mul arm64 Neoverse-V2 0.56 ns 0.56 ns +0.18% (-0.18% to +0.54%)
f64-mul x86-64 INTEL(R) XEON(R) GOLD 6548N 0.87 ns 0.87 ns -0.11% (-0.57% to +1.15%)
f64-square arm64 Neoverse-V2 0.55 ns 0.55 ns -0.18% (-1.09% to +0.00%)
f64-square x86-64 INTEL(R) XEON(R) GOLD 6548N 1.08 ns 1.08 ns +0.00% (-1.81% to +1.20%)
ntt-forward-22 arm64 Neoverse-V2 3.83 ms 3.80 ms -0.24% (-2.88% to +6.84%)
ntt-forward-22 x86-64 INTEL(R) XEON(R) GOLD 6548N 2.22 ms 2.21 ms +0.41% (-2.63% to +1.78%)
transpose-64bytes arm64 Neoverse-V2 12.00 ns 12.00 ns -0.01% (-0.03% to +0.07%)
transpose-64bytes x86-64 INTEL(R) XEON(R) GOLD 6548N 0.84 ns 0.84 ns +0.36% (-3.10% to +0.48%)
transpose-64x64 arm64 Neoverse-V2 96.40 ns 96.38 ns -0.02% (-0.10% to +0.07%)
transpose-64x64 x86-64 INTEL(R) XEON(R) GOLD 6548N 73.31 ns 73.33 ns -0.07% (-0.98% to +0.18%)

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-4thread-first arm64 Neoverse-V2 none 260,427 B new
aggregate-leanxmss-100-2to1-4thread-first x86-64 INTEL(R) XEON(R) GOLD 6548N none 260,427 B new
aggregate-leanxmss-100-2to1-4thread-node arm64 Neoverse-V2 none 259,659 B new
aggregate-leanxmss-100-2to1-4thread-node x86-64 INTEL(R) XEON(R) GOLD 6548N none 259,659 B new
aggregate-leanxmss-100-2to1-8thread-first arm64 Neoverse-V2 none 260,427 B new
aggregate-leanxmss-100-2to1-8thread-first x86-64 INTEL(R) XEON(R) GOLD 6548N none 260,427 B new
aggregate-leanxmss-100-2to1-8thread-node arm64 Neoverse-V2 none 259,659 B new
aggregate-leanxmss-100-2to1-8thread-node x86-64 INTEL(R) XEON(R) GOLD 6548N none 259,659 B new
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-1thread-first arm64 Neoverse-V2 283,331 B 283,331 B 0 B (+0.00%)
aggregate-leanxmss-100-4to1-1thread-first x86-64 INTEL(R) XEON(R) GOLD 6548N 283,331 B 283,331 B 0 B (+0.00%)
aggregate-leanxmss-100-4to1-1thread-node arm64 Neoverse-V2 285,027 B 285,027 B 0 B (+0.00%)
aggregate-leanxmss-100-4to1-1thread-node x86-64 INTEL(R) XEON(R) GOLD 6548N 285,027 B 285,027 B 0 B (+0.00%)
aggregate-leanxmss-100-4to1-4thread-first arm64 Neoverse-V2 none 283,331 B new
aggregate-leanxmss-100-4to1-4thread-first x86-64 INTEL(R) XEON(R) GOLD 6548N none 283,331 B new
aggregate-leanxmss-100-4to1-4thread-node arm64 Neoverse-V2 none 285,027 B new
aggregate-leanxmss-100-4to1-4thread-node x86-64 INTEL(R) XEON(R) GOLD 6548N none 285,027 B new
aggregate-leanxmss-100-4to1-8thread-first arm64 Neoverse-V2 none 283,331 B new
aggregate-leanxmss-100-4to1-8thread-first x86-64 INTEL(R) XEON(R) GOLD 6548N none 283,331 B new
aggregate-leanxmss-100-4to1-8thread-node arm64 Neoverse-V2 none 285,027 B new
aggregate-leanxmss-100-4to1-8thread-node x86-64 INTEL(R) XEON(R) GOLD 6548N none 285,027 B new
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%)
leanxmss-100-4thread arm64 Neoverse-V2 none 307,670 B new
leanxmss-100-4thread x86-64 INTEL(R) XEON(R) GOLD 6548N none 307,670 B new
leanxmss-100-8thread arm64 Neoverse-V2 none 307,670 B new
leanxmss-100-8thread x86-64 INTEL(R) XEON(R) GOLD 6548N none 307,670 B new
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.57 MiB 1780.70 MiB +0.01% (-0.11% to +0.01%)
aggregate-leanxmss-100-2to1-1thread-first x86-64 INTEL(R) XEON(R) GOLD 6548N 1174.60 MiB 1174.59 MiB -0.00% (-0.17% to +0.15%)
aggregate-leanxmss-100-2to1-1thread-node arm64 Neoverse-V2 1780.82 MiB 1780.95 MiB +0.01% (-0.11% to +0.01%)
aggregate-leanxmss-100-2to1-1thread-node x86-64 INTEL(R) XEON(R) GOLD 6548N 1174.60 MiB 1174.59 MiB -0.00% (-0.17% to +0.15%)
aggregate-leanxmss-100-2to1-4thread-first arm64 Neoverse-V2 none 1844.75 MiB new
aggregate-leanxmss-100-2to1-4thread-first x86-64 INTEL(R) XEON(R) GOLD 6548N none 1202.67 MiB new
aggregate-leanxmss-100-2to1-4thread-node arm64 Neoverse-V2 none 1851.25 MiB new
aggregate-leanxmss-100-2to1-4thread-node x86-64 INTEL(R) XEON(R) GOLD 6548N none 1211.07 MiB new
aggregate-leanxmss-100-2to1-8thread-first arm64 Neoverse-V2 none 1885.67 MiB new
aggregate-leanxmss-100-2to1-8thread-first x86-64 INTEL(R) XEON(R) GOLD 6548N none 1186.42 MiB new
aggregate-leanxmss-100-2to1-8thread-node arm64 Neoverse-V2 none 1904.98 MiB new
aggregate-leanxmss-100-2to1-8thread-node x86-64 INTEL(R) XEON(R) GOLD 6548N none 1205.73 MiB new
aggregate-leanxmss-100-2to1-first arm64 Neoverse-V2 1960.41 MiB 1959.19 MiB +0.02% (-0.36% to +0.14%)
aggregate-leanxmss-100-2to1-first x86-64 INTEL(R) XEON(R) GOLD 6548N 1299.19 MiB 1298.62 MiB -0.04% (-0.55% to +0.63%)
aggregate-leanxmss-100-2to1-node arm64 Neoverse-V2 2000.36 MiB 1995.96 MiB +0.03% (-0.41% to +0.25%)
aggregate-leanxmss-100-2to1-node x86-64 INTEL(R) XEON(R) GOLD 6548N 1372.21 MiB 1375.95 MiB +0.24% (-0.50% to +0.34%)
aggregate-leanxmss-100-4to1-1thread-first arm64 Neoverse-V2 2266.70 MiB 2267.06 MiB +0.02% (+0.01% to +0.10%)
aggregate-leanxmss-100-4to1-1thread-first x86-64 INTEL(R) XEON(R) GOLD 6548N 1454.61 MiB 1456.37 MiB +0.00% (-0.02% to +0.29%)
aggregate-leanxmss-100-4to1-1thread-node arm64 Neoverse-V2 2267.09 MiB 2267.28 MiB +0.02% (-0.00% to +0.27%)
aggregate-leanxmss-100-4to1-1thread-node x86-64 INTEL(R) XEON(R) GOLD 6548N 1460.37 MiB 1460.37 MiB +0.00% (-0.14% to +0.12%)
aggregate-leanxmss-100-4to1-4thread-first arm64 Neoverse-V2 none 2337.11 MiB new
aggregate-leanxmss-100-4to1-4thread-first x86-64 INTEL(R) XEON(R) GOLD 6548N none 1491.92 MiB new
aggregate-leanxmss-100-4to1-4thread-node arm64 Neoverse-V2 none 2351.68 MiB new
aggregate-leanxmss-100-4to1-4thread-node x86-64 INTEL(R) XEON(R) GOLD 6548N none 1503.87 MiB new
aggregate-leanxmss-100-4to1-8thread-first arm64 Neoverse-V2 none 2384.43 MiB new
aggregate-leanxmss-100-4to1-8thread-first x86-64 INTEL(R) XEON(R) GOLD 6548N none 1196.33 MiB new
aggregate-leanxmss-100-4to1-8thread-node arm64 Neoverse-V2 none 2402.13 MiB new
aggregate-leanxmss-100-4to1-8thread-node x86-64 INTEL(R) XEON(R) GOLD 6548N none 1215.67 MiB new
aggregate-leanxmss-100-4to1-first arm64 Neoverse-V2 2470.49 MiB 2465.71 MiB -0.39% (-0.66% to +0.58%)
aggregate-leanxmss-100-4to1-first x86-64 INTEL(R) XEON(R) GOLD 6548N 1318.73 MiB 1318.96 MiB -0.14% (-0.39% to +0.86%)
aggregate-leanxmss-100-4to1-node arm64 Neoverse-V2 2502.02 MiB 2505.82 MiB -0.10% (-0.51% to +0.41%)
aggregate-leanxmss-100-4to1-node x86-64 INTEL(R) XEON(R) GOLD 6548N 1395.51 MiB 1390.86 MiB +0.20% (-2.76% to +1.10%)
falcon-7 arm64 Neoverse-V2 5810.56 MiB 5833.29 MiB +0.38% (-0.54% to +0.53%)
falcon-7 x86-64 INTEL(R) XEON(R) GOLD 6548N 3211.31 MiB 3205.59 MiB -0.14% (-0.26% to -0.06%)
fibonacci-asm-2000000 arm64 Neoverse-V2 9073.68 MiB 9074.94 MiB -0.02% (-0.05% to +0.07%)
fibonacci-asm-2000000 x86-64 INTEL(R) XEON(R) GOLD 6548N 4233.21 MiB 4232.55 MiB +0.01% (-0.06% to +0.09%)
hash-50000 arm64 Neoverse-V2 5752.04 MiB 5755.02 MiB +0.11% (-0.06% to +0.19%)
hash-50000 x86-64 INTEL(R) XEON(R) GOLD 6548N 3045.70 MiB 3050.91 MiB +0.07% (+0.02% to +0.48%)
leansphincs-26 arm64 Neoverse-V2 1930.26 MiB 1929.13 MiB -0.01% (-0.12% to +0.19%)
leansphincs-26 x86-64 INTEL(R) XEON(R) GOLD 6548N 1023.60 MiB 1023.38 MiB -0.00% (-0.24% to +0.22%)
leanxmss-100 arm64 Neoverse-V2 1723.66 MiB 1716.75 MiB -0.27% (-0.62% to -0.03%)
leanxmss-100 x86-64 INTEL(R) XEON(R) GOLD 6548N 881.04 MiB 881.33 MiB +0.03% (-0.23% to +0.25%)
leanxmss-100-1thread arm64 Neoverse-V2 1598.62 MiB 1600.30 MiB -0.01% (-0.38% to +0.49%)
leanxmss-100-1thread x86-64 INTEL(R) XEON(R) GOLD 6548N 990.12 MiB 990.37 MiB +0.03% (-0.05% to +0.38%)
leanxmss-100-4thread arm64 Neoverse-V2 none 1635.23 MiB new
leanxmss-100-4thread x86-64 INTEL(R) XEON(R) GOLD 6548N none 1000.27 MiB new
leanxmss-100-8thread arm64 Neoverse-V2 none 1663.94 MiB new
leanxmss-100-8thread x86-64 INTEL(R) XEON(R) GOLD 6548N none 782.46 MiB new
shielded-258 arm64 Neoverse-V2 8357.20 MiB 8353.33 MiB +0.06% (-0.76% to +0.77%)
shielded-258 x86-64 INTEL(R) XEON(R) GOLD 6548N 4265.21 MiB 4271.15 MiB +0.12% (-0.04% to +0.30%)
stateproof-5 arm64 Neoverse-V2 12475.11 MiB 12477.99 MiB +0.01% (-0.02% to +0.07%)
stateproof-5 x86-64 INTEL(R) XEON(R) GOLD 6548N 6175.09 MiB 6175.26 MiB -0.00% (-0.03% to +0.07%)

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-4thread-first arm64 Neoverse-V2 none 23.44 µs new
aggregate-leanxmss-100-2to1-4thread-first x86-64 INTEL(R) XEON(R) GOLD 6548N none 23.49 µs new
aggregate-leanxmss-100-2to1-4thread-node arm64 Neoverse-V2 none 27.33 µs new
aggregate-leanxmss-100-2to1-4thread-node x86-64 INTEL(R) XEON(R) GOLD 6548N none 27.38 µs new
aggregate-leanxmss-100-2to1-8thread-first arm64 Neoverse-V2 none 23.56 µs new
aggregate-leanxmss-100-2to1-8thread-first x86-64 INTEL(R) XEON(R) GOLD 6548N none 23.60 µs new
aggregate-leanxmss-100-2to1-8thread-node arm64 Neoverse-V2 none 27.45 µs new
aggregate-leanxmss-100-2to1-8thread-node x86-64 INTEL(R) XEON(R) GOLD 6548N none 27.49 µs new
aggregate-leanxmss-100-2to1-first arm64 Neoverse-V2 23.79 µs 23.79 µs +0.00% (-0.08% to +0.08%)
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.02%)
aggregate-leanxmss-100-2to1-node arm64 Neoverse-V2 27.68 µs 27.68 µ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.00% to +0.07%)
aggregate-leanxmss-100-4to1-1thread-first arm64 Neoverse-V2 41.84 µs 41.84 µs +0.00% (+0.00% to +0.00%)
aggregate-leanxmss-100-4to1-1thread-first x86-64 INTEL(R) XEON(R) GOLD 6548N 41.88 µs 41.88 µs +0.00% (+0.00% to +0.00%)
aggregate-leanxmss-100-4to1-1thread-node arm64 Neoverse-V2 49.74 µs 49.74 µs +0.00% (+0.00% to +0.00%)
aggregate-leanxmss-100-4to1-1thread-node x86-64 INTEL(R) XEON(R) GOLD 6548N 49.79 µs 49.79 µs +0.00% (+0.00% to +0.00%)
aggregate-leanxmss-100-4to1-4thread-first arm64 Neoverse-V2 none 41.95 µs new
aggregate-leanxmss-100-4to1-4thread-first x86-64 INTEL(R) XEON(R) GOLD 6548N none 42.00 µs new
aggregate-leanxmss-100-4to1-4thread-node arm64 Neoverse-V2 none 49.86 µs new
aggregate-leanxmss-100-4to1-4thread-node x86-64 INTEL(R) XEON(R) GOLD 6548N none 49.90 µs new
aggregate-leanxmss-100-4to1-8thread-first arm64 Neoverse-V2 none 42.09 µs new
aggregate-leanxmss-100-4to1-8thread-first x86-64 INTEL(R) XEON(R) GOLD 6548N none 42.14 µs new
aggregate-leanxmss-100-4to1-8thread-node arm64 Neoverse-V2 none 50.00 µs new
aggregate-leanxmss-100-4to1-8thread-node x86-64 INTEL(R) XEON(R) GOLD 6548N none 50.05 µs new
aggregate-leanxmss-100-4to1-first arm64 Neoverse-V2 42.36 µs 42.36 µs +0.00% (-0.04% 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.05% to +0.00%)
aggregate-leanxmss-100-4to1-node arm64 Neoverse-V2 50.27 µs 50.27 µs +0.00% (+0.00% to +0.01%)
aggregate-leanxmss-100-4to1-node x86-64 INTEL(R) XEON(R) GOLD 6548N 50.84 µs 50.84 µs -0.01% (-0.01% to +0.01%)
falcon-7 arm64 Neoverse-V2 15.90 µs 15.90 µs +0.00% (-0.04% to +0.00%)
falcon-7 x86-64 INTEL(R) XEON(R) GOLD 6548N 17.57 µs 17.57 µs +0.01% (+0.00% to +0.04%)
fibonacci-asm-2000000 arm64 Neoverse-V2 11.51 µs 11.51 µs +0.00% (+0.00% to +0.00%)
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-V2 16.89 µs 16.89 µs +0.00% (+0.00% to +0.00%)
hash-50000 x86-64 INTEL(R) XEON(R) GOLD 6548N 18.75 µs 18.75 µs +0.00% (-0.02% to +0.02%)
leansphincs-26 arm64 Neoverse-V2 25.57 µs 25.58 µs +0.02% (+0.00% to +0.24%)
leansphincs-26 x86-64 INTEL(R) XEON(R) GOLD 6548N 27.13 µs 27.13 µs +0.03% (-0.06% to +0.16%)
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.71 µs -0.03% (-0.04% to +0.03%)
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%)
leanxmss-100-4thread arm64 Neoverse-V2 none 25.32 µs new
leanxmss-100-4thread x86-64 INTEL(R) XEON(R) GOLD 6548N none 25.77 µs new
leanxmss-100-8thread arm64 Neoverse-V2 none 25.62 µs new
leanxmss-100-8thread x86-64 INTEL(R) XEON(R) GOLD 6548N none 26.07 µs new
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.00% (-0.02% to +0.03%)
stateproof-5 arm64 Neoverse-V2 19.35 µs 19.35 µs +0.00% (-0.04% to +0.05%)
stateproof-5 x86-64 INTEL(R) XEON(R) GOLD 6548N 21.27 µs 21.28 µs +0.00% (-0.00% to +0.01%)

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-4thread-first arm64 Neoverse-V2 none 738.64 ms new
aggregate-leanxmss-100-2to1-4thread-first x86-64 INTEL(R) XEON(R) GOLD 6548N none 373.35 ms new
aggregate-leanxmss-100-2to1-4thread-node arm64 Neoverse-V2 none 738.30 ms new
aggregate-leanxmss-100-2to1-4thread-node x86-64 INTEL(R) XEON(R) GOLD 6548N none 373.01 ms new
aggregate-leanxmss-100-2to1-8thread-first arm64 Neoverse-V2 none 738.59 ms new
aggregate-leanxmss-100-2to1-8thread-first x86-64 INTEL(R) XEON(R) GOLD 6548N none 373.37 ms new
aggregate-leanxmss-100-2to1-8thread-node arm64 Neoverse-V2 none 738.25 ms new
aggregate-leanxmss-100-2to1-8thread-node x86-64 INTEL(R) XEON(R) GOLD 6548N none 373.03 ms new
aggregate-leanxmss-100-2to1-first arm64 Neoverse-V2 738.65 ms 738.43 ms -0.00% (-0.03% to +0.01%)
aggregate-leanxmss-100-2to1-first x86-64 INTEL(R) XEON(R) GOLD 6548N 373.87 ms 373.97 ms +0.03% (-0.03% to +0.05%)
aggregate-leanxmss-100-2to1-node arm64 Neoverse-V2 738.15 ms 738.04 ms -0.02% (-0.03% to -0.00%)
aggregate-leanxmss-100-2to1-node x86-64 INTEL(R) XEON(R) GOLD 6548N 373.64 ms 373.62 ms -0.00% (-0.03% to +0.02%)
aggregate-leanxmss-100-4to1-1thread-first arm64 Neoverse-V2 1.48 s 1.48 s +0.00% (+0.00% to +0.00%)
aggregate-leanxmss-100-4to1-1thread-first x86-64 INTEL(R) XEON(R) GOLD 6548N 746.21 ms 746.21 ms +0.00% (+0.00% to +0.00%)
aggregate-leanxmss-100-4to1-1thread-node arm64 Neoverse-V2 1.48 s 1.48 s +0.00% (+0.00% to +0.00%)
aggregate-leanxmss-100-4to1-1thread-node x86-64 INTEL(R) XEON(R) GOLD 6548N 745.63 ms 745.63 ms +0.00% (+0.00% to +0.00%)
aggregate-leanxmss-100-4to1-4thread-first arm64 Neoverse-V2 none 1.48 s new
aggregate-leanxmss-100-4to1-4thread-first x86-64 INTEL(R) XEON(R) GOLD 6548N none 746.27 ms new
aggregate-leanxmss-100-4to1-4thread-node arm64 Neoverse-V2 none 1.48 s new
aggregate-leanxmss-100-4to1-4thread-node x86-64 INTEL(R) XEON(R) GOLD 6548N none 745.71 ms new
aggregate-leanxmss-100-4to1-8thread-first arm64 Neoverse-V2 none 1.48 s new
aggregate-leanxmss-100-4to1-8thread-first x86-64 INTEL(R) XEON(R) GOLD 6548N none 746.39 ms new
aggregate-leanxmss-100-4to1-8thread-node arm64 Neoverse-V2 none 1.48 s new
aggregate-leanxmss-100-4to1-8thread-node x86-64 INTEL(R) XEON(R) GOLD 6548N none 745.83 ms new
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 747.02 ms 747.01 ms +0.00% (-0.01% to +0.02%)
aggregate-leanxmss-100-4to1-node arm64 Neoverse-V2 1.48 s 1.48 s +0.00% (-0.01% to +0.01%)
aggregate-leanxmss-100-4to1-node x86-64 INTEL(R) XEON(R) GOLD 6548N 746.46 ms 746.44 ms +0.00% (-0.05% to +0.01%)
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.00% to +0.00%)
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.01%)
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.00% to +0.00%)
leansphincs-26 arm64 Neoverse-V2 1.72 s 1.72 s +0.00% (-0.00% to +0.01%)
leansphincs-26 x86-64 INTEL(R) XEON(R) GOLD 6548N 776.28 ms 776.35 ms +0.00% (+0.00% to +0.03%)
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.00%)
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%)
leanxmss-100-4thread arm64 Neoverse-V2 none 1.49 s new
leanxmss-100-4thread x86-64 INTEL(R) XEON(R) GOLD 6548N none 667.34 ms new
leanxmss-100-8thread arm64 Neoverse-V2 none 1.49 s new
leanxmss-100-8thread x86-64 INTEL(R) XEON(R) GOLD 6548N none 667.24 ms new
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.01% 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%)

@kevaundray
kevaundray merged commit f7b03b5 into leanEthereum:riscv-exploration Oct 7, 2026
62 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.

1 participant