Skip to content

perf(pcs): amortize ARM EOR3 Basis map visits - #556

Merged
tcoratger merged 1 commit into
leanEthereum:riscv-explorationfrom
kevaundray:kw/basis-locality
Oct 10, 2026
Merged

tcoratger merged 1 commit into
leanEthereum:riscv-explorationfrom
kevaundray:kw/basis-locality

Conversation

@kevaundray

@kevaundray kevaundray commented Oct 8, 2026 •

Copy link
Copy Markdown
Collaborator

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

Change

Use 1024-word initial Basis fill windows on the ARM EOR3 byte-table map backend (aarch64 plus sha3), retaining 256-word windows on scalar and x86 byte-sliced backends. This gate matches the selected map implementation, not a workload or worker count. Smaller lane blocks still fill whole.

Initialize first-pass scratch directly in a zeroed Box, avoiding a large stack temporary. Its fields are integer-only arrays, including F192 and aligned WeightRow; zero bits are valid and provide the required padded-lane zeros. Box handles alignment, allocation failure and destruction. The explicit WeightFold::default preserves zero initialization and is necessary because the longer window makes its outer array exceed the 32 entries supported by the derived array Default implementation.

No arithmetic kernel, protocol, transcript, proof encoding, guest, retention/refill policy or dispatch nesting changes. The byte-table backend still retains its weight at every pool size; SIMD backends still retain on small pools and refill on larger ones. Diagnostic hooks and workflow changes are removed from the production diff.

Paired native evidence

Exact baseline: f52bd991c8623894e7b03a2e50bede6c248ea1ad, including #549 and #550, excluding #552 and guest rewrites. Screening run 37764826302 compares 256, 512 and 1024 using a16d22e615e767579c5c227946bdfbf1a33cab0e. Final confirmation 37768993635 compares the selected backend gate at 1a808a3397c2d8e73eff97c17ab42f5d31bc0646; its production Rust sources are unchanged at clean head 82795fc86ed57738246de42846182e68d52cf1ac.

Both variants run on the same Neoverse-V2 or Xeon Gold 6548N machine with rustc 1.99.0 (b940084d7), release thin LTO, one codegen unit and -C target-cpu=native. Each cell has five alternating whole-proof runs after the CLI warmup. Explicit pools are 1, 4 and 8; final captures confirm default pools of 16 on V2 and 32 on Xeon. Aggregation leaves use log inverse rate 2; node rates are named below. Comparisons are within each cohort, never pooled across machines. Tables show paired percentage change as median [minimum, maximum]; negative is faster. Artifacts retain the individual durations, counted heap, allocations, RSS, disassembly and proof bytes.

Selected V2 schedule

Proof / log inverse rate 1 worker 4 workers 8 workers Default
leaf 100 / 1 -2.30 [-2.63, -1.97] -2.17 [-2.66, -1.76] -2.67 [-2.85, -2.28] -3.16 [-4.42, -2.60]
2to1-first / 1 -2.42 [-2.67, -2.26] -2.53 [-3.16, -2.47] -2.68 [-2.75, -2.14] -2.45 [-3.04, -1.81]
2to1-node / 1 -2.41 [-2.77, -2.34] -2.46 [-2.80, -2.34] -2.30 [-2.67, -1.74] -2.50 [-3.53, -2.29]
leaf 100 / 4 -0.59 [-0.69, -0.33] -0.72 [-0.95, -0.70] -0.78 [-0.93, -0.64] -1.28 [-2.27, -1.03]
4to1-first / 2 -1.94 [-2.02, -1.69] -1.82 [-2.08, -1.56] -1.68 [-2.03, -1.47] -2.68 [-5.66, -2.23]
4to1-node / 2 -1.94 [-2.00, -1.59] -1.81 [-1.97, -1.37] -1.62 [-2.16, -1.51] -2.38 [-2.63, +0.77]

The first three rows reuse the screened ARM code, which the final gate leaves unchanged; all 60 pairs improve. The remaining rows cover the missing rate and wider recursion shape, with 59 of 60 pairs improving. For context, the single-worker log-1 leaf median is 1944.437 to 1898.170 ms; log-4 is 5952.848 to 5921.506 ms. A separate single-worker trace shows Basis 345 to 298 ms, but that is one trace, not a five-sample span distribution or an additive explanation of the proof result.

Final Xeon residuals, keeping its 256-word schedule

Proof / log inverse rate 1 worker 4 workers 8 workers Default
leaf 100 / 4 +0.22 [+0.03, +0.61] +0.34 [+0.13, +0.38] -0.40 [-3.86, +0.13] +0.07 [+0.03, +1.06]
4to1-first / 2 -0.09 [-0.79, +0.59] +0.16 [-0.20, +0.36] +0.53 [-1.11, +4.60] +0.06 [-3.65, +0.40]
4to1-node / 2 -0.07 [-0.23, +0.23] +0.12 [-0.68, +0.37] +0.71 [-0.45, +6.04] -0.51 [-0.65, +0.63]
leaf 100 / 1 +0.02 [-1.08, +1.27] -0.18 [-0.64, +0.51] +0.07 [-0.71, +0.72] -0.18 [-1.46, +0.75]
2to1-first / 1 +0.43 [-2.35, +0.73] +0.26 [-3.54, +16.18] +0.31 [-9.45, +6.44] -0.35 [-1.20, +0.50]
2to1-node / 1 -0.03 [-0.78, +0.17] -0.14 [-3.27, +1.01] +1.31 [-2.51, +8.23] +0.56 [-0.58, +1.22]

This is not a claim of zero runtime variation: the higher 2-to-1 node at eight workers still has a +1.31% median with a wide signed range, and the log-4 leaf has small positive low-worker medians. These residuals are reported rather than hidden behind the unchanged scheduling choice.

Rejected universal 1024 schedule

Proof / log inverse rate 1 worker 4 workers 8 workers Default
leaf 100 / 1 -0.28 [-1.46, +0.29] -0.07 [-1.60, +0.57] -1.94 [-10.70, -1.19] -0.80 [-1.09, -0.01]
2to1-first / 1 +0.43 [-0.06, +5.57] +0.46 [+0.07, +0.97] +3.37 [-1.00, +7.13] -1.61 [-2.69, -0.16]
2to1-node / 1 -0.36 [-1.70, +0.56] -0.48 [-1.10, +0.05] +5.14 [-1.35, +9.41] +1.27 [-3.54, +3.46]

Universal 1024 is rejected because of these Xeon aggregation losses. The 512 candidate gives weaker V2 medians, approximately 1.3% to 1.7% faster, and mixed Xeon results. A separate local scalar-backend safety screen with rustc 1.99.0, -C target-cpu=x86-64, five alternating leanXMSS-1 log-4 proofs and a low-load process lock gives +3.48% [-1.49%, +6.79%] at one worker and +0.03% [-0.40%, +2.94%] at four. That is not native V2/Xeon evidence and is why the gate does not cover generic full-byte tables. Scalar keeps 256. Full retained-weight staging is not selected: the earlier native experiment regressed Xeon and needs more scheduling machinery than the bounded winner.

Normal PR benchmark matrix

PR Bench 37772535485 passes all 46 jobs, comparing the PR merge against the same f52bd991 base with rustc 1.99.0 and native flags. All VM leaf and aggregation proof medians improve on V2, ranging from -1.53% to -3.44%; the corresponding Xeon medians range from -1.83% to +0.93%. The default V2 4-to-1 job contains positive outliers despite its negative medians. Standalone PCS opening is -1.84% on V2 but +1.67% on Xeon; unchanged PCS commit also varies. These results support the bounded ARM optimization, not a universal speedup or additive kernel attribution.

All normal Bench latency residuals: paired median [minimum, maximum] percent

Names without a thread suffix use the default pool. Flock and PCS rows are standalone component benchmarks, not VM proof timings.

Workload V2 Xeon
2to1 first, default -2.90 [-4.26, -2.34] -0.37 [-2.26, +3.54]
2to1 higher, default -3.26 [-3.65, -0.86] -0.95 [-4.34, +1.33]
2to1 first, 1 thread -2.71 [-6.51, -2.19] -0.57 [-2.88, +3.90]
2to1 higher, 1 thread -2.50 [-2.62, -1.66] -0.17 [-3.44, +1.39]
2to1 first, 4 threads -2.46 [-2.89, -2.26] -0.06 [-1.15, +0.28]
2to1 higher, 4 threads -2.31 [-2.58, -1.98] +0.34 [-0.14, +0.71]
2to1 first, 8 threads -2.18 [-10.11, -1.63] -0.76 [-9.56, +2.36]
2to1 higher, 8 threads -2.14 [-13.07, -1.61] +0.93 [-3.64, +9.51]
4to1 first, default -2.78 [-3.16, +16.15] -0.10 [-2.54, +1.58]
4to1 higher, default -2.19 [-3.18, +14.05] -1.24 [-4.00, +2.06]
4to1 first, 1 thread -2.29 [-2.51, -1.93] -0.14 [-0.48, +0.29]
4to1 higher, 1 thread -2.20 [-2.33, -1.89] -0.37 [-1.06, +0.36]
4to1 first, 4 threads -1.53 [-2.18, -1.21] -0.39 [-1.58, +0.24]
4to1 higher, 4 threads -2.03 [-2.76, -1.13] +0.39 [-1.24, +7.66]
4to1 first, 8 threads -2.22 [-2.66, -1.75] -1.83 [-5.07, +0.11]
4to1 higher, 8 threads -1.88 [-2.29, -1.83] -0.15 [-9.91, +0.58]
falcon-7 -2.63 [-2.78, -1.60] +0.07 [-3.91, +0.35]
fibonacci-asm-2000000 -2.93 [-3.05, -2.26] +0.27 [-1.17, +0.52]
flock-add-wrapping-batch-262144 -5.54 [-18.14, -5.13] -2.44 [-6.58, +4.46]
flock-mul-wrapping-batch-262144 -4.08 [-4.31, -3.85] -0.13 [-0.66, +0.30]
flock-mul-widening-batch-262144 -4.62 [-5.76, -4.35] +0.05 [-0.38, +10.15]
flock-hash-batch-262144 -2.77 [-3.06, -1.90] -0.09 [-0.70, +0.67]
hash-50000 -2.67 [-2.76, -2.47] +0.04 [-0.63, +0.65]
leansphincs-26 -3.05 [-3.55, -2.16] -0.19 [-4.24, +0.34]
leanxmss-100 -3.44 [-4.32, -2.57] -0.01 [-0.49, +0.63]
leanxmss-100, 1 thread -2.05 [-2.51, -1.78] +0.51 [-0.96, +0.61]
leanxmss-100, 4 threads -2.61 [-3.51, -2.34] +0.79 [-1.12, +3.59]
leanxmss-100, 8 threads -2.63 [-3.05, -2.20] +0.11 [-0.90, +14.04]
pcs-commit-22 +1.55 [-2.99, +3.73] -0.77 [-1.81, +0.85]
pcs-open-22 -1.84 [-13.87, +0.57] +1.67 [-1.21, +2.15]
shielded-258 -3.28 [-3.45, -2.98] -0.13 [-0.59, +0.47]
stateproof-5 -2.53 [-3.28, -2.38] +0.64 [-0.74, +1.07]

Memory and work bounds

ARM first-pass scratch plus its accumulator grows from 134,592 to 429,504 bytes per active worker, or 131.44 to 419.44 KiB, in the same two allocations. At 16 workers this is 2.05 to 6.55 MiB, bounded independently of input size. The retained output size is unchanged. The zeroed heap constructor avoids stack materialization; emitted V2 R4 grid-task frames remain 1,008 bytes. First-fold staging and accumulators still have bounded window-sized stack arrays. Scalar and x86 keep their original smaller windows.

For the 39-lane, 262,144-word opening, per-lane fills and retained-copy calls decrease from 39,936 to 9,984; grid tasks decrease from 3,072 to 768. Map arithmetic applications and grid products do not change. ARM retained publication is ordinary copying, so there is no x86 streaming fence to remove. Point high-equality tables shrink as more low coordinates are generated per window.

V2 allocation counts are identical in both cohorts. In screening, whole-proof counted heap peaks are identical at one worker and change by at most 0.13 MiB at larger pools; RSS median changes range from -0.55 to +9.82 MiB. In final rate/shape confirmation, counted heap median changes range from -7.40 to +0.06 MiB and RSS from -4.13 to +8.16 MiB. Heap peak is often dominated outside Basis and does not conceal the per-worker scratch increase or cached allocator pages.

Final Xeon counted heap peak median changes range from -0.14 to +0.095 MiB and RSS from -4.55 to +3.19 MiB; whole-proof allocation count differences range from -1 to +10. Its per-worker scratch size and two-allocation count remain unchanged.

Across the broader normal Bench matrix, median counted heap changes range from -0.12 to +0.37 MiB on V2 and -0.07 to +0.09 MiB on Xeon. Median RSS changes range from -40.96 to +16.09 MiB on V2 and -6.15 to +3.84 MiB on Xeon. Allocation count differences range from -26 to 0 on V2 and -15 to +70 on Xeon; these are observed whole-benchmark residuals, not additional scratch allocations.

Correctness and validation

All 960 saved proof files compare literally equal for the same workload/rate/node, across variants, worker counts, architectures and both cohorts. This covers log-1 and log-4 leaves, log-2 aggregation leaves, first and higher 2-to-1 nodes at log 1, and first and higher 4-to-1 nodes at log 2. Every measured proof is checked by the production verifier. The log-1 leaf remains 307,670 bytes with SHA-256 b413d253b65a70e53e843d83f176c94df401dd06126d4df089b0a7c0c73f8a63.

Exact clean-head Rust CI 37769096834 passes all 13 jobs, including release workspace tests, MSRV, Rustfmt, Rustdoc, x86/ARM Clippy, AVX-512 Clippy, guest checks and dependency checks. AVX2+VPCLMULQDQ, AVX2+GFNI and NEON kernel and bus tests actually run and pass. The Miri job covers the thread pool, not the entire prover.

Local validation additionally includes Rust 1.97 native PCS tests and production proof verification, Rust 1.99 scalar PCS tests and a real log-4 proof, Rust 1.97 ARM SHA3 and non-SHA3 cross compilation, and the retained-weight equality test under AddressSanitizer on nightly-2026-10-03. Existing tests cover retained and virtual/refill paths, small blocks, aligned chunk boundaries, partial groups, truncated lanes and padding. Cross compilation is build evidence, not hardware timing. No cache-miss or hardware-counter claim is made, and no combination with other optimization branches is measured here.

The published PR additionally passes all 62 checks, including its 46 normal Bench jobs, Rust PR CI 37772535449, RISC-V ACT4, Python and Counts. No production instrumentation or benchmark workflow modifications remain.

@github-actions

github-actions Bot commented Oct 8, 2026 •

Copy link
Copy Markdown

Benchmarks: base against this PR, on one runner

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

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

BLAKE2s

benchmark threads runner measure base this PR change
hash-50000 16 arm64 Proving time 529.52 ms 517.73 ms -2.17% (-2.39% to -1.94%)
Prover stages
benchmark threads runner base this PR change
hash-50000 16 arm64 529.52 ms 517.73 ms -2.17% (-2.39% to -1.94%)
 ↳ build-witness 20.02 ms 20.04 ms -0.17% (-0.59% to +0.78%)
 ↳ commit 81.90 ms 82.10 ms -0.03% (-0.20% to +0.62%)
 ↳ execute-program 23.10 ms 23.15 ms +0.04% (-3.63% to +4.08%)
 ↳ flock-reductions 170.07 ms 170.19 ms +0.06% (-0.14% to +0.34%)
 ↳ pcs-open 197.17 ms 185.27 ms -5.93% (-6.29% to -5.57%)
 ↳ prove-bus 30.01 ms 30.04 ms +0.13% (-0.61% to +0.38%)
 ↳ prove-constraints 7.14 ms 7.06 ms -1.11% (-1.60% to +0.49%)

Fibonacci

Prover stages
benchmark threads runner base this PR change
fibonacci-asm-2000000 16 arm64 838.73 ms 816.27 ms -2.60% (-3.20% to +4.85%)
 ↳ build-witness 29.02 ms 29.17 ms +0.12% (-0.40% to +49.14%)
 ↳ commit 125.37 ms 126.08 ms +0.66% (-0.07% to +11.59%)
 ↳ execute-program 61.91 ms 65.75 ms +7.46% (-5.40% to +61.24%)
 ↳ flock-reductions 293.51 ms 293.42 ms -0.12% (-2.59% to +0.43%)
 ↳ pcs-open 257.21 ms 231.16 ms -10.04% (-10.16% to -9.96%)
 ↳ prove-bus 59.53 ms 59.46 ms -0.11% (-0.44% to +10.79%)
 ↳ prove-constraints 10.76 ms 10.78 ms +0.18% (-0.94% to +0.52%)

Flock

benchmark threads runner measure base this PR change
flock-alu-batch-262144 16 arm64 Proving time 53.19 ms 51.20 ms -3.69% (-14.71% to -3.44%)
flock-div-batch-262144 16 arm64 Proving time 382.15 ms 366.56 ms -4.08% (-4.63% to -3.47%)
flock-hash-batch-262144 16 arm64 Proving time 792.93 ms 761.53 ms -3.87% (-5.33% to -3.39%)
flock-ld-batch-262144 16 arm64 Proving time 16.30 ms 15.80 ms -3.75% (-18.64% to -3.00%)
flock-load-batch-262144 16 arm64 Proving time 51.29 ms 49.29 ms -3.89% (-4.38% to -2.57%)
flock-mul-batch-262144 16 arm64 Proving time 195.43 ms 188.18 ms -3.80% (-4.09% to -3.17%)
flock-mulh-batch-262144 16 arm64 Proving time 373.03 ms 359.14 ms -3.87% (-4.01% to -3.56%)
flock-sd-batch-262144 16 arm64 Proving time 15.37 ms 14.91 ms -3.07% (-19.48% to -2.51%)
flock-shift-batch-262144 16 arm64 Proving time 53.80 ms 52.09 ms -3.18% (-4.04% to -0.19%)
flock-store-batch-262144 16 arm64 Proving time 52.11 ms 49.96 ms -4.14% (-10.85% to -0.52%)
flock-store-batch-262144 16 x86-64 Proving time 27.68 ms 28.48 ms +2.95% (+2.46% to +10.89%)

PCS

benchmark threads runner measure base this PR change
pcs-open-22 16 arm64 Proving time 21.21 ms 19.72 ms -7.00% (-18.00% to -5.13%)

leanSPHINCS

benchmark threads runner measure base this PR change
leansphincs-26 16 arm64 Proving time 186.17 ms 182.17 ms -2.15% (-2.62% to -1.65%)
Prover stages
benchmark threads runner base this PR change
leansphincs-26 16 arm64 186.17 ms 182.17 ms -2.15% (-2.62% to -1.65%)
 ↳ build-witness 5.68 ms 5.66 ms -0.26% (-0.78% to +1.40%)
 ↳ commit 23.69 ms 23.75 ms +0.14% (-0.69% to +0.70%)
 ↳ execute-program 11.77 ms 12.03 ms +2.90% (-2.44% to +5.21%)
 ↳ flock-reductions 61.74 ms 61.96 ms +0.56% (+0.08% to +0.62%)
 ↳ pcs-open 63.78 ms 59.30 ms -7.15% (-7.78% to -6.05%)
 ↳ prove-bus 15.10 ms 15.09 ms +0.19% (-0.57% to +0.43%)
 ↳ prove-constraints 4.24 ms 4.18 ms -0.70% (-2.67% to +0.27%)

leanXMSS

benchmark threads runner measure base this PR change
aggregate-leanxmss-100-2to1-first 1 arm64 Proving time 974.88 ms 950.01 ms -2.54% (-2.81% to -2.42%)
aggregate-leanxmss-100-2to1-first 4 arm64 Proving time 277.23 ms 269.13 ms -3.01% (-3.47% to -2.57%)
aggregate-leanxmss-100-2to1-first 8 arm64 Proving time 160.20 ms 155.91 ms -2.57% (-2.84% to -2.24%)
aggregate-leanxmss-100-2to1-first 16 arm64 Proving time 105.01 ms 102.78 ms -2.89% (-4.60% to -1.01%)
aggregate-leanxmss-100-2to1-first 16 x86-64 Proving time 97.51 ms 94.31 ms -2.80% (-7.90% to -1.57%)
aggregate-leanxmss-100-2to1-node 1 arm64 Proving time 1.05 s 1.02 s -2.25% (-2.74% to -1.96%)
aggregate-leanxmss-100-2to1-node 4 arm64 Proving time 296.04 ms 288.40 ms -2.58% (-2.92% to -2.23%)
aggregate-leanxmss-100-2to1-node 8 arm64 Proving time 170.38 ms 166.82 ms -2.17% (-2.70% to -1.92%)
aggregate-leanxmss-100-2to1-node 16 arm64 Proving time 110.65 ms 107.66 ms -2.70% (-3.36% to -2.34%)
aggregate-leanxmss-100-4to1-first 1 arm64 Proving time 1.93 s 1.88 s -2.82% (-3.25% to -2.27%)
aggregate-leanxmss-100-4to1-first 4 arm64 Proving time 532.44 ms 519.32 ms -2.53% (-2.81% to -2.12%)
aggregate-leanxmss-100-4to1-first 8 arm64 Proving time 306.48 ms 298.66 ms -2.65% (-2.76% to -2.47%)
aggregate-leanxmss-100-4to1-first 16 arm64 Proving time 198.21 ms 193.57 ms -3.08% (-9.34% to -1.13%)
aggregate-leanxmss-100-4to1-node 1 arm64 Proving time 2.12 s 2.07 s -2.40% (-3.10% to -2.14%)
aggregate-leanxmss-100-4to1-node 4 arm64 Proving time 582.28 ms 569.50 ms -2.56% (-3.42% to -2.01%)
aggregate-leanxmss-100-4to1-node 8 arm64 Proving time 335.17 ms 326.75 ms -2.51% (-2.62% to -2.34%)
aggregate-leanxmss-100-4to1-node 16 arm64 Proving time 217.46 ms 211.45 ms -3.83% (-4.91% to -1.47%)
leanxmss-100 1 arm64 Proving time 1.85 s 1.81 s -2.01% (-2.30% to -1.91%)
leanxmss-100 4 arm64 Proving time 489.84 ms 480.11 ms -2.19% (-16.99% to -1.81%)
leanxmss-100 8 arm64 Proving time 273.70 ms 268.09 ms -2.06% (-2.14% to -1.98%)
leanxmss-100 16 arm64 Proving time 168.99 ms 165.31 ms -2.17% (-2.96% to -0.38%)
aggregate-leanxmss-100-2to1-node 4 arm64 Verifying time 3.97 ms 3.93 ms -1.73% (-2.37% to -0.10%)
Prover stages
benchmark threads runner base this PR change
aggregate-leanxmss-100-2to1-first 1 arm64 974.88 ms 950.01 ms -2.54% (-2.81% to -2.42%)
 ↳ build-circuit 12.26 ms 12.31 ms +0.16% (-0.83% to +2.79%)
 ↳ prove-recursion 939.65 ms 914.71 ms -2.66% (-2.88% to -2.52%)
 ↳ reduce-claims 15.81 ms 15.56 ms -1.58% (-3.28% to +2.75%)
 ↳ reduce-in-rows 1.44 ms 1.46 ms +2.35% (-3.89% to +5.20%)
 ↳ verify 6.09 ms 6.10 ms +0.28% (+0.06% to +1.08%)
aggregate-leanxmss-100-2to1-first 4 arm64 277.23 ms 269.13 ms -3.01% (-3.47% to -2.57%)
 ↳ build-circuit 10.89 ms 10.90 ms +0.33% (-1.42% to +1.10%)
 ↳ prove-recursion 253.33 ms 245.38 ms -3.27% (-3.65% to -2.86%)
 ↳ reduce-claims 5.18 ms 5.15 ms -0.10% (-3.86% to +0.55%)
 ↳ reduce-in-rows 1.48 ms 1.49 ms +0.63% (-2.44% to +3.13%)
 ↳ verify 6.10 ms 6.11 ms +0.13% (-1.90% to +1.22%)
aggregate-leanxmss-100-2to1-first 8 arm64 160.20 ms 155.91 ms -2.57% (-2.84% to -2.24%)
 ↳ build-circuit 10.36 ms 10.12 ms -1.72% (-3.22% to -0.97%)
 ↳ prove-recursion 138.18 ms 134.21 ms -2.85% (-3.09% to -2.56%)
 ↳ reduce-claims 4.05 ms 4.14 ms -1.01% (-1.18% to +7.74%)
 ↳ reduce-in-rows 1.47 ms 1.44 ms -0.08% (-4.69% to +0.88%)
 ↳ verify 6.08 ms 6.08 ms -0.03% (-1.28% to +0.10%)
aggregate-leanxmss-100-2to1-first 16 arm64 105.01 ms 102.78 ms -2.89% (-4.60% to -1.01%)
 ↳ build-circuit 10.15 ms 10.15 ms +0.08% (-0.96% to +0.70%)
 ↳ prove-recursion 83.08 ms 80.69 ms -3.44% (-6.15% to -1.68%)
 ↳ reduce-claims 3.81 ms 3.97 ms +5.17% (-9.49% to +8.44%)
 ↳ reduce-in-rows 1.39 ms 1.40 ms -0.58% (-1.02% to +3.07%)
 ↳ verify 6.45 ms 6.47 ms +0.49% (-1.17% to +2.33%)
aggregate-leanxmss-100-2to1-first 16 x86-64 97.51 ms 94.31 ms -2.80% (-7.90% to -1.57%)
 ↳ build-circuit 14.40 ms 14.26 ms +0.06% (-2.81% to +4.24%)
 ↳ prove-recursion 66.24 ms 63.07 ms -4.47% (-10.53% to -1.33%)
 ↳ reduce-claims 7.49 ms 7.39 ms -8.67% (-22.57% to +12.56%)
 ↳ reduce-in-rows 2.09 ms 2.05 ms -4.08% (-7.59% to +2.00%)
 ↳ verify 7.23 ms 7.20 ms -0.20% (-2.73% to +1.58%)
aggregate-leanxmss-100-2to1-node 1 arm64 1.05 s 1.02 s -2.25% (-2.74% to -1.96%)
 ↳ build-circuit 12.37 ms 12.19 ms -1.51% (-3.37% to +2.18%)
 ↳ prove-recursion 996.65 ms 972.03 ms -2.37% (-2.84% to -2.03%)
 ↳ reduce-claims 30.93 ms 30.91 ms -0.51% (-1.12% to +0.40%)
 ↳ reduce-in-rows 1.54 ms 1.51 ms -0.49% (-3.15% to +3.16%)
aggregate-leanxmss-100-2to1-node 4 arm64 296.04 ms 288.40 ms -2.58% (-2.92% to -2.23%)
 ↳ build-circuit 11.96 ms 11.89 ms -0.34% (-0.82% to +1.32%)
 ↳ prove-recursion 266.87 ms 259.22 ms -2.82% (-3.20% to -2.56%)
 ↳ reduce-claims 10.40 ms 10.54 ms +0.15% (-0.18% to +1.47%)
 ↳ reduce-in-rows 1.49 ms 1.51 ms +1.19% (-2.49% to +2.45%)
aggregate-leanxmss-100-2to1-node 8 arm64 170.38 ms 166.82 ms -2.17% (-2.70% to -1.92%)
 ↳ build-circuit 11.35 ms 11.30 ms -0.42% (-1.95% to +1.07%)
 ↳ prove-recursion 144.69 ms 140.94 ms -2.58% (-3.16% to -2.42%)
 ↳ reduce-claims 7.63 ms 7.90 ms +2.50% (+0.03% to +5.80%)
 ↳ reduce-in-rows 1.52 ms 1.52 ms +0.12% (-5.46% to +2.78%)
aggregate-leanxmss-100-2to1-node 16 arm64 110.65 ms 107.66 ms -2.70% (-3.36% to -2.34%)
 ↳ build-circuit 11.32 ms 11.16 ms +0.26% (-2.14% to +0.65%)
 ↳ prove-recursion 86.47 ms 83.24 ms -3.41% (-4.56% to -3.04%)
 ↳ reduce-claims 6.51 ms 6.65 ms +1.25% (-1.36% to +2.91%)
 ↳ reduce-in-rows 1.47 ms 1.46 ms -0.08% (-0.45% to +0.82%)
aggregate-leanxmss-100-2to1-node 8 x86-64 122.51 ms 121.50 ms -1.02% (-1.66% to +0.05%)
 ↳ build-circuit 14.93 ms 14.82 ms +0.18% (-4.52% to +1.55%)
 ↳ prove-recursion 90.78 ms 90.32 ms -0.32% (-1.37% to +0.11%)
 ↳ reduce-claims 9.73 ms 8.83 ms -1.52% (-13.94% to -0.00%)
 ↳ reduce-in-rows 2.10 ms 2.10 ms -2.90% (-4.91% to +7.30%)
aggregate-leanxmss-100-2to1-node 16 x86-64 96.89 ms 97.26 ms -0.05% (-2.66% to +2.80%)
 ↳ build-circuit 15.10 ms 15.34 ms +1.56% (+1.15% to +2.25%)
 ↳ prove-recursion 65.44 ms 63.01 ms -0.71% (-5.29% to +1.95%)
 ↳ reduce-claims 8.84 ms 9.05 ms +3.01% (-3.03% to +17.78%)
 ↳ reduce-in-rows 2.16 ms 2.14 ms -1.56% (-2.77% to +2.53%)
aggregate-leanxmss-100-4to1-first 1 arm64 1.93 s 1.88 s -2.82% (-3.25% to -2.27%)
 ↳ build-circuit 25.01 ms 25.18 ms +0.98% (-2.52% to +1.07%)
 ↳ prove-recursion 1.87 s 1.82 s -2.93% (-3.29% to -2.32%)
 ↳ reduce-claims 21.36 ms 21.14 ms -1.00% (-1.37% to +0.49%)
 ↳ reduce-in-rows 2.85 ms 2.79 ms -1.88% (-4.35% to +2.14%)
 ↳ verify 12.03 ms 12.03 ms -0.01% (-2.16% to +0.32%)
aggregate-leanxmss-100-4to1-first 4 arm64 532.44 ms 519.32 ms -2.53% (-2.81% to -2.12%)
 ↳ build-circuit 21.54 ms 21.91 ms +1.52% (+0.83% to +2.70%)
 ↳ prove-recursion 488.58 ms 475.46 ms -2.76% (-3.24% to -2.37%)
 ↳ reduce-claims 7.11 ms 6.97 ms -0.55% (-4.79% to +1.33%)
 ↳ reduce-in-rows 2.88 ms 2.89 ms +0.29% (-1.38% to +6.52%)
 ↳ verify 11.79 ms 11.93 ms +0.78% (-0.71% to +3.12%)
aggregate-leanxmss-100-4to1-first 8 arm64 306.48 ms 298.66 ms -2.65% (-2.76% to -2.47%)
 ↳ build-circuit 20.82 ms 20.70 ms -0.66% (-2.72% to +0.18%)
 ↳ prove-recursion 265.77 ms 257.93 ms -2.97% (-3.15% to -2.52%)
 ↳ reduce-claims 5.16 ms 5.04 ms -1.97% (-6.44% to +4.72%)
 ↳ reduce-in-rows 2.83 ms 2.85 ms +1.01% (+0.12% to +2.13%)
 ↳ verify 11.98 ms 11.95 ms -0.20% (-0.45% to +0.54%)
aggregate-leanxmss-100-4to1-first 16 arm64 198.21 ms 193.57 ms -3.08% (-9.34% to -1.13%)
 ↳ build-circuit 21.32 ms 21.43 ms -1.46% (-3.68% to +5.05%)
 ↳ prove-recursion 156.55 ms 151.04 ms -3.81% (-11.88% to -0.81%)
 ↳ reduce-claims 4.56 ms 4.57 ms +0.17% (-3.14% to +5.30%)
 ↳ reduce-in-rows 2.88 ms 2.87 ms -0.95% (-3.97% to +2.85%)
 ↳ verify 12.85 ms 13.05 ms -1.18% (-1.24% to +3.42%)
aggregate-leanxmss-100-4to1-node 1 arm64 2.12 s 2.07 s -2.40% (-3.10% to -2.14%)
 ↳ build-circuit 29.34 ms 29.35 ms +0.17% (-5.06% to +2.09%)
 ↳ prove-recursion 2.01 s 1.96 s -2.54% (-3.27% to -2.28%)
 ↳ reduce-claims 55.99 ms 56.23 ms +0.26% (-0.26% to +0.78%)
 ↳ reduce-in-rows 3.03 ms 3.03 ms -1.16% (-1.62% to +2.08%)
aggregate-leanxmss-100-4to1-node 4 arm64 582.28 ms 569.50 ms -2.56% (-3.42% to -2.01%)
 ↳ build-circuit 25.86 ms 25.72 ms -0.62% (-7.22% to +2.48%)
 ↳ prove-recursion 524.24 ms 511.10 ms -2.54% (-3.17% to -2.28%)
 ↳ reduce-claims 17.45 ms 17.31 ms -1.77% (-3.28% to -0.72%)
 ↳ reduce-in-rows 3.04 ms 3.01 ms -1.15% (-3.66% to +0.25%)
aggregate-leanxmss-100-4to1-node 8 arm64 335.17 ms 326.75 ms -2.51% (-2.62% to -2.34%)
 ↳ build-circuit 24.84 ms 24.72 ms -0.47% (-1.48% to +1.64%)
 ↳ prove-recursion 284.54 ms 276.25 ms -2.87% (-3.23% to -2.65%)
 ↳ reduce-claims 12.12 ms 12.04 ms +0.01% (-4.09% to +3.01%)
 ↳ reduce-in-rows 3.01 ms 3.04 ms +0.73% (-0.77% to +3.39%)
aggregate-leanxmss-100-4to1-node 16 arm64 217.46 ms 211.45 ms -3.83% (-4.91% to -1.47%)
 ↳ build-circuit 24.82 ms 25.08 ms -0.25% (-3.45% to +5.59%)
 ↳ prove-recursion 169.46 ms 161.74 ms -5.08% (-5.51% to -2.28%)
 ↳ reduce-claims 9.51 ms 9.73 ms +2.32% (-1.77% to +6.43%)
 ↳ reduce-in-rows 3.04 ms 3.04 ms +1.25% (-4.70% to +3.49%)
leanxmss-100 1 arm64 1.85 s 1.81 s -2.01% (-2.30% to -1.91%)
 ↳ build-witness 46.38 ms 46.38 ms -0.40% (-0.81% to +0.69%)
 ↳ commit 295.19 ms 293.45 ms -0.54% (-1.47% to +0.13%)
 ↳ execute-program 10.66 ms 10.28 ms -3.89% (-5.14% to +2.93%)
 ↳ flock-reductions 650.98 ms 650.98 ms +0.07% (-0.18% to +0.59%)
 ↳ pcs-open 697.50 ms 660.04 ms -5.05% (-5.61% to -5.01%)
 ↳ prove-bus 131.80 ms 131.53 ms -0.01% (-0.46% to +0.60%)
 ↳ prove-constraints 14.30 ms 14.18 ms -0.84% (-1.83% to +2.11%)
leanxmss-100 4 arm64 489.84 ms 480.11 ms -2.19% (-16.99% to -1.81%)
 ↳ build-witness 12.85 ms 12.85 ms -0.09% (-0.30% to +0.33%)
 ↳ commit 74.79 ms 74.33 ms -0.82% (-9.42% to +0.56%)
 ↳ execute-program 10.42 ms 10.28 ms +0.76% (-4.06% to +2.18%)
 ↳ flock-reductions 170.28 ms 170.29 ms -0.11% (-17.81% to +0.21%)
 ↳ pcs-open 180.68 ms 170.85 ms -5.48% (-18.83% to -4.83%)
 ↳ prove-bus 35.52 ms 35.48 ms +0.03% (-26.85% to +0.18%)
 ↳ prove-constraints 5.47 ms 5.46 ms -0.87% (-12.78% to +0.14%)
leanxmss-100 8 arm64 273.70 ms 268.09 ms -2.06% (-2.14% to -1.98%)
 ↳ build-witness 7.32 ms 7.30 ms +0.18% (-0.61% to +0.85%)
 ↳ commit 38.39 ms 38.31 ms -0.18% (-0.84% to +0.17%)
 ↳ execute-program 10.29 ms 10.24 ms -0.16% (-4.55% to +1.07%)
 ↳ flock-reductions 94.34 ms 94.40 ms +0.06% (-0.33% to +0.32%)
 ↳ pcs-open 98.25 ms 92.76 ms -5.59% (-5.66% to -5.46%)
 ↳ prove-bus 20.59 ms 20.65 ms +0.22% (-0.38% to +0.35%)
 ↳ prove-constraints 4.16 ms 4.16 ms -0.83% (-0.95% to +2.04%)
leanxmss-100 16 arm64 168.99 ms 165.31 ms -2.17% (-2.96% to -0.38%)
 ↳ build-witness 4.91 ms 4.94 ms +0.71% (-3.93% to +5.49%)
 ↳ commit 20.45 ms 20.60 ms -0.44% (-1.40% to +1.24%)
 ↳ execute-program 10.40 ms 10.42 ms +2.06% (-4.63% to +2.56%)
 ↳ flock-reductions 57.10 ms 57.29 ms -0.12% (-0.27% to +1.02%)
 ↳ pcs-open 58.34 ms 54.75 ms -6.63% (-8.23% to -3.92%)
 ↳ prove-bus 13.34 ms 13.48 ms +0.06% (-1.69% to +1.52%)
 ↳ prove-constraints 3.81 ms 3.85 ms -0.13% (-2.57% to +3.25%)
Every result

BLAKE2s

benchmark threads runner CPU measure base this PR change
hash-50000 16 arm64 Neoverse-V2 Proving time 529.52 ms 517.73 ms -2.17% (-2.39% to -1.94%)
hash-50000 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Proving time 363.76 ms 366.75 ms +0.58% (-4.17% to +2.46%)
hash-50000 16 arm64 Neoverse-V2 Verifying time 3.35 ms 3.34 ms -0.21% (-0.22% to +0.21%)
hash-50000 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Verifying time 3.45 ms 3.42 ms -1.09% (-1.77% to +0.99%)
blake2s-batch 16 arm64 Neoverse-V2 Time per operation 2.90 ns 2.90 ns -0.03% (-0.07% to +0.38%)
blake2s-batch 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Time per operation 1.01 ns 1.01 ns -0.10% (-12.32% to +7.50%)
hash-50000 16 arm64 Neoverse-V2 Proof size 326,238 B 326,238 B 0 B (+0.00%)
hash-50000 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Proof size 326,238 B 326,238 B 0 B (+0.00%)
hash-50000 16 arm64 Neoverse-V2 Peak memory 4970.34 MiB 4976.80 MiB +0.13% (-0.10% to +0.39%)
hash-50000 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Peak memory 2191.66 MiB 2193.74 MiB +0.13% (-0.39% to +0.44%)
hash-50000 16 arm64 Neoverse-V2 Peak heap 4400.83 MiB 4400.78 MiB -0.00% (-0.00% to +0.00%)
hash-50000 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Peak heap 1917.31 MiB 1917.19 MiB -0.01% (-0.01% to +0.01%)
hash-50000 16 arm64 Neoverse-V2 Allocations 16,843 16,843 +0.00% (+0.00% to +0.00%)
hash-50000 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Allocations 17,487 17,479 -0.07% (-0.08% to +0.05%)
Prover stages
benchmark threads runner CPU base this PR change
hash-50000 16 arm64 Neoverse-V2 529.52 ms 517.73 ms -2.17% (-2.39% to -1.94%)
 ↳ build-witness 20.02 ms 20.04 ms -0.17% (-0.59% to +0.78%)
 ↳ commit 81.90 ms 82.10 ms -0.03% (-0.20% to +0.62%)
 ↳ execute-program 23.10 ms 23.15 ms +0.04% (-3.63% to +4.08%)
 ↳ flock-reductions 170.07 ms 170.19 ms +0.06% (-0.14% to +0.34%)
 ↳ pcs-open 197.17 ms 185.27 ms -5.93% (-6.29% to -5.57%)
 ↳ prove-bus 30.01 ms 30.04 ms +0.13% (-0.61% to +0.38%)
 ↳ prove-constraints 7.14 ms 7.06 ms -1.11% (-1.60% to +0.49%)
hash-50000 16 x86-64 INTEL(R) XEON(R) GOLD 6548N 363.76 ms 366.75 ms +0.58% (-4.17% to +2.46%)
 ↳ build-witness 24.85 ms 25.13 ms +1.39% (-6.31% to +10.29%)
 ↳ commit 51.15 ms 50.42 ms -1.43% (-9.20% to +7.63%)
 ↳ execute-program 29.27 ms 29.30 ms -0.24% (-7.97% to +1.98%)
 ↳ flock-reductions 96.86 ms 102.20 ms +3.56% (-7.26% to +6.75%)
 ↳ pcs-open 125.83 ms 128.69 ms +0.09% (-4.16% to +6.44%)
 ↳ prove-bus 22.55 ms 21.93 ms -2.54% (-5.39% to +1.48%)
 ↳ prove-constraints 9.64 ms 9.84 ms +0.40% (-2.38% to +7.23%)

Fibonacci

benchmark threads runner CPU measure base this PR change
fibonacci-asm-2000000 16 arm64 Neoverse-V2 Proving time 838.73 ms 816.27 ms -2.60% (-3.20% to +4.85%)
fibonacci-asm-2000000 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Proving time 504.39 ms 491.52 ms -2.00% (-2.67% to +0.37%)
fibonacci-asm-2000000 16 arm64 Neoverse-V2 Verifying time 3.41 ms 3.41 ms +0.03% (-0.40% to +0.19%)
fibonacci-asm-2000000 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Verifying time 3.41 ms 3.42 ms +0.22% (-0.30% to +1.19%)
fibonacci-asm-2000000 16 arm64 Neoverse-V2 Proof size 366,462 B 366,462 B 0 B (+0.00%)
fibonacci-asm-2000000 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Proof size 366,462 B 366,462 B 0 B (+0.00%)
fibonacci-asm-2000000 16 arm64 Neoverse-V2 Peak memory 7653.01 MiB 7629.92 MiB -0.30% (-0.45% to -0.25%)
fibonacci-asm-2000000 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Peak memory 3561.49 MiB 3565.46 MiB +0.05% (-0.04% to +0.13%)
fibonacci-asm-2000000 16 arm64 Neoverse-V2 Peak heap 7049.80 MiB 7049.82 MiB +0.00% (-0.00% to +0.00%)
fibonacci-asm-2000000 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Peak heap 3307.47 MiB 3307.47 MiB +0.00% (-0.01% to +0.00%)
fibonacci-asm-2000000 16 arm64 Neoverse-V2 Allocations 11,803 11,777 -0.22% (-0.24% to -0.22%)
fibonacci-asm-2000000 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Allocations 12,414 12,414 +0.00% (+0.00% to +0.00%)
Prover stages
benchmark threads runner CPU base this PR change
fibonacci-asm-2000000 16 arm64 Neoverse-V2 838.73 ms 816.27 ms -2.60% (-3.20% to +4.85%)
 ↳ build-witness 29.02 ms 29.17 ms +0.12% (-0.40% to +49.14%)
 ↳ commit 125.37 ms 126.08 ms +0.66% (-0.07% to +11.59%)
 ↳ execute-program 61.91 ms 65.75 ms +7.46% (-5.40% to +61.24%)
 ↳ flock-reductions 293.51 ms 293.42 ms -0.12% (-2.59% to +0.43%)
 ↳ pcs-open 257.21 ms 231.16 ms -10.04% (-10.16% to -9.96%)
 ↳ prove-bus 59.53 ms 59.46 ms -0.11% (-0.44% to +10.79%)
 ↳ prove-constraints 10.76 ms 10.78 ms +0.18% (-0.94% to +0.52%)
fibonacci-asm-2000000 16 x86-64 INTEL(R) XEON(R) GOLD 6548N 504.39 ms 491.52 ms -2.00% (-2.67% to +0.37%)
 ↳ build-witness 38.03 ms 38.14 ms +0.18% (-5.32% to +1.08%)
 ↳ commit 67.94 ms 67.70 ms -0.41% (-8.90% to +0.77%)
 ↳ execute-program 72.04 ms 73.17 ms +1.45% (-6.51% to +8.19%)
 ↳ flock-reductions 130.17 ms 129.61 ms -0.69% (-6.20% to +0.48%)
 ↳ pcs-open 133.76 ms 134.04 ms +0.01% (-6.00% to +0.62%)
 ↳ prove-bus 36.17 ms 36.18 ms +0.01% (-3.60% to +0.34%)
 ↳ prove-constraints 13.09 ms 13.09 ms +0.25% (+0.01% to +0.96%)

Field and transpose kernels

benchmark threads runner CPU measure base this PR change
f192-inv default arm64 Neoverse-V2 Time per operation 244.96 ns 245.08 ns +0.05% (+0.01% to +0.10%)
f192-inv default x86-64 INTEL(R) XEON(R) GOLD 6548N Time per operation 268.62 ns 268.33 ns -0.20% (-1.15% to +0.35%)
f192-mul-latency default arm64 Neoverse-V2 Time per operation 8.02 ns 8.03 ns +0.15% (-0.25% to +0.40%)
f192-mul-latency default x86-64 INTEL(R) XEON(R) GOLD 6548N Time per operation 7.62 ns 7.59 ns -0.35% (-1.57% to +0.88%)
f192-mul-throughput default arm64 Neoverse-V2 Time per operation 2.94 ns 2.94 ns +0.03% (-0.07% to +0.10%)
f192-mul-throughput default x86-64 INTEL(R) XEON(R) GOLD 6548N Time per operation 4.50 ns 4.49 ns -0.27% (-0.93% to +0.34%)
f192-mul4-latency default arm64 Neoverse-V2 Time per operation 12.69 ns 12.76 ns +0.09% (-0.63% to +0.58%)
f192-mul4-latency default x86-64 INTEL(R) XEON(R) GOLD 6548N Time per operation 10.27 ns 10.22 ns -0.46% (-1.03% to +0.61%)
f192-mul4-throughput default arm64 Neoverse-V2 Time per operation 10.76 ns 10.76 ns -0.04% (-0.06% to +0.26%)
f192-mul4-throughput default x86-64 INTEL(R) XEON(R) GOLD 6548N Time per operation 15.83 ns 15.81 ns -0.04% (-1.68% to +0.25%)
f192-square default arm64 Neoverse-V2 Time per operation 1.70 ns 1.70 ns +0.06% (-0.06% to +0.41%)
f192-square default x86-64 INTEL(R) XEON(R) GOLD 6548N Time per operation 3.38 ns 3.38 ns +0.15% (-1.56% to +2.88%)
f64-inv default arm64 Neoverse-V2 Time per operation 211.54 ns 211.49 ns -0.02% (-0.05% to +0.12%)
f64-inv default x86-64 INTEL(R) XEON(R) GOLD 6548N Time per operation 241.74 ns 239.50 ns -0.65% (-1.21% to +0.27%)
f64-mul default arm64 Neoverse-V2 Time per operation 0.56 ns 0.56 ns +0.00% (-0.18% to +0.36%)
f64-mul default x86-64 INTEL(R) XEON(R) GOLD 6548N Time per operation 0.88 ns 0.88 ns +0.11% (-0.68% to +0.80%)
f64-square default arm64 Neoverse-V2 Time per operation 0.55 ns 0.55 ns +0.00% (-0.90% to +1.46%)
f64-square default x86-64 INTEL(R) XEON(R) GOLD 6548N Time per operation 1.10 ns 1.10 ns +0.00% (-1.70% to +3.47%)
transpose-64bytes default arm64 Neoverse-V2 Time per operation 12.00 ns 12.00 ns -0.01% (-0.04% to +0.05%)
transpose-64bytes default x86-64 INTEL(R) XEON(R) GOLD 6548N Time per operation 0.86 ns 0.86 ns -0.81% (-3.95% to +0.23%)
transpose-64x64 default arm64 Neoverse-V2 Time per operation 96.40 ns 96.36 ns -0.03% (-0.11% to +0.00%)
transpose-64x64 default x86-64 INTEL(R) XEON(R) GOLD 6548N Time per operation 74.30 ns 74.20 ns +0.05% (-1.37% to +0.75%)

Flock

benchmark threads runner CPU measure base this PR change
flock-alu-batch-262144 16 arm64 Neoverse-V2 Proving time 53.19 ms 51.20 ms -3.69% (-14.71% to -3.44%)
flock-alu-batch-262144 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Proving time 29.17 ms 30.07 ms +0.82% (-4.90% to +6.03%)
flock-div-batch-262144 16 arm64 Neoverse-V2 Proving time 382.15 ms 366.56 ms -4.08% (-4.63% to -3.47%)
flock-div-batch-262144 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Proving time 169.35 ms 170.54 ms +0.83% (-6.91% to +10.74%)
flock-hash-batch-262144 16 arm64 Neoverse-V2 Proving time 792.93 ms 761.53 ms -3.87% (-5.33% to -3.39%)
flock-hash-batch-262144 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Proving time 354.69 ms 356.21 ms +0.43% (-2.49% to +1.30%)
flock-ld-batch-262144 16 arm64 Neoverse-V2 Proving time 16.30 ms 15.80 ms -3.75% (-18.64% to -3.00%)
flock-ld-batch-262144 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Proving time 10.04 ms 10.09 ms +5.67% (-1.74% to +23.70%)
flock-load-batch-262144 16 arm64 Neoverse-V2 Proving time 51.29 ms 49.29 ms -3.89% (-4.38% to -2.57%)
flock-load-batch-262144 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Proving time 28.16 ms 29.11 ms +1.96% (-0.98% to +12.75%)
flock-mul-batch-262144 16 arm64 Neoverse-V2 Proving time 195.43 ms 188.18 ms -3.80% (-4.09% to -3.17%)
flock-mul-batch-262144 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Proving time 95.39 ms 92.39 ms -2.95% (-7.76% to +9.07%)
flock-mulh-batch-262144 16 arm64 Neoverse-V2 Proving time 373.03 ms 359.14 ms -3.87% (-4.01% to -3.56%)
flock-mulh-batch-262144 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Proving time 168.54 ms 170.25 ms +1.78% (-4.88% to +4.65%)
flock-sd-batch-262144 16 arm64 Neoverse-V2 Proving time 15.37 ms 14.91 ms -3.07% (-19.48% to -2.51%)
flock-sd-batch-262144 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Proving time 9.83 ms 9.96 ms +1.52% (-1.84% to +22.06%)
flock-shift-batch-262144 16 arm64 Neoverse-V2 Proving time 53.80 ms 52.09 ms -3.18% (-4.04% to -0.19%)
flock-shift-batch-262144 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Proving time 28.07 ms 28.20 ms +9.99% (-10.79% to +10.68%)
flock-store-batch-262144 16 arm64 Neoverse-V2 Proving time 52.11 ms 49.96 ms -4.14% (-10.85% to -0.52%)
flock-store-batch-262144 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Proving time 27.68 ms 28.48 ms +2.95% (+2.46% to +10.89%)

PCS

benchmark threads runner CPU measure base this PR change
pcs-commit-22 16 arm64 Neoverse-V2 Proving time 7.30 ms 7.29 ms +0.62% (-13.97% to +31.52%)
pcs-commit-22 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Proving time 5.21 ms 5.12 ms -1.02% (-12.63% to +13.11%)
pcs-open-22 16 arm64 Neoverse-V2 Proving time 21.21 ms 19.72 ms -7.00% (-18.00% to -5.13%)
pcs-open-22 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Proving time 13.68 ms 13.29 ms -2.96% (-5.57% to +7.60%)
ntt-forward-22 16 arm64 Neoverse-V2 Time per operation 3.65 ms 3.62 ms -1.29% (-9.93% to +1.18%)
ntt-forward-22 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Time per operation 2.92 ms 2.88 ms -1.07% (-10.45% to +11.47%)

leanSPHINCS

benchmark threads runner CPU measure base this PR change
leansphincs-26 16 arm64 Neoverse-V2 Proving time 186.17 ms 182.17 ms -2.15% (-2.62% to -1.65%)
leansphincs-26 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Proving time 138.74 ms 141.33 ms +3.68% (-6.20% to +9.06%)
leansphincs-26 16 arm64 Neoverse-V2 Verifying time 3.42 ms 3.42 ms -0.11% (-0.33% to +2.98%)
leansphincs-26 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Verifying time 3.46 ms 3.47 ms +0.27% (-1.36% to +1.15%)
leansphincs-26 16 arm64 Neoverse-V2 Proof size 319,806 B 319,806 B 0 B (+0.00%)
leansphincs-26 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Proof size 319,806 B 319,806 B 0 B (+0.00%)
leansphincs-26 16 arm64 Neoverse-V2 Peak memory 1745.02 MiB 1741.50 MiB -0.22% (-0.40% to +0.05%)
leansphincs-26 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Peak memory 821.48 MiB 819.03 MiB -0.30% (-0.55% to +0.20%)
leansphincs-26 16 arm64 Neoverse-V2 Peak heap 1395.73 MiB 1395.72 MiB -0.00% (-0.01% to +0.01%)
leansphincs-26 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Peak heap 649.80 MiB 649.87 MiB +0.01% (-0.00% to +0.02%)
leansphincs-26 16 arm64 Neoverse-V2 Allocations 25,355 25,355 +0.00% (+0.00% to +0.00%)
leansphincs-26 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Allocations 26,060 26,060 +0.00% (-0.01% to +0.00%)
Prover stages
benchmark threads runner CPU base this PR change
leansphincs-26 16 arm64 Neoverse-V2 186.17 ms 182.17 ms -2.15% (-2.62% to -1.65%)
 ↳ build-witness 5.68 ms 5.66 ms -0.26% (-0.78% to +1.40%)
 ↳ commit 23.69 ms 23.75 ms +0.14% (-0.69% to +0.70%)
 ↳ execute-program 11.77 ms 12.03 ms +2.90% (-2.44% to +5.21%)
 ↳ flock-reductions 61.74 ms 61.96 ms +0.56% (+0.08% to +0.62%)
 ↳ pcs-open 63.78 ms 59.30 ms -7.15% (-7.78% to -6.05%)
 ↳ prove-bus 15.10 ms 15.09 ms +0.19% (-0.57% to +0.43%)
 ↳ prove-constraints 4.24 ms 4.18 ms -0.70% (-2.67% to +0.27%)
leansphincs-26 16 x86-64 INTEL(R) XEON(R) GOLD 6548N 138.74 ms 141.33 ms +3.68% (-6.20% to +9.06%)
 ↳ build-witness 8.14 ms 8.35 ms +2.96% (-2.45% to +5.28%)
 ↳ commit 15.02 ms 15.76 ms +4.86% (-4.91% to +12.28%)
 ↳ execute-program 14.07 ms 14.04 ms +1.06% (-1.56% to +4.61%)
 ↳ flock-reductions 41.54 ms 41.74 ms +5.90% (-12.34% to +15.03%)
 ↳ pcs-open 42.96 ms 43.78 ms +0.04% (-9.18% to +8.24%)
 ↳ prove-bus 11.90 ms 12.16 ms +2.80% (-3.87% to +8.01%)
 ↳ prove-constraints 5.02 ms 5.04 ms -0.03% (-5.04% to +6.32%)

leanXMSS

benchmark threads runner CPU measure base this PR change
aggregate-leanxmss-100-2to1-first 1 arm64 Neoverse-V2 Proving time 974.88 ms 950.01 ms -2.54% (-2.81% to -2.42%)
aggregate-leanxmss-100-2to1-first 4 arm64 Neoverse-V2 Proving time 277.23 ms 269.13 ms -3.01% (-3.47% to -2.57%)
aggregate-leanxmss-100-2to1-first 8 arm64 Neoverse-V2 Proving time 160.20 ms 155.91 ms -2.57% (-2.84% to -2.24%)
aggregate-leanxmss-100-2to1-first 16 arm64 Neoverse-V2 Proving time 105.01 ms 102.78 ms -2.89% (-4.60% to -1.01%)
aggregate-leanxmss-100-2to1-first 1 x86-64 INTEL(R) XEON(R) GOLD 6548N Proving time 580.49 ms 579.24 ms -0.12% (-0.65% to +0.60%)
aggregate-leanxmss-100-2to1-first 4 x86-64 INTEL(R) XEON(R) GOLD 6548N Proving time 182.82 ms 184.66 ms +1.01% (-2.64% to +1.70%)
aggregate-leanxmss-100-2to1-first 8 x86-64 INTEL(R) XEON(R) GOLD 6548N Proving time 117.05 ms 118.05 ms +0.82% (-1.46% to +2.96%)
aggregate-leanxmss-100-2to1-first 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Proving time 97.51 ms 94.31 ms -2.80% (-7.90% to -1.57%)
aggregate-leanxmss-100-2to1-node 1 arm64 Neoverse-V2 Proving time 1.05 s 1.02 s -2.25% (-2.74% to -1.96%)
aggregate-leanxmss-100-2to1-node 4 arm64 Neoverse-V2 Proving time 296.04 ms 288.40 ms -2.58% (-2.92% to -2.23%)
aggregate-leanxmss-100-2to1-node 8 arm64 Neoverse-V2 Proving time 170.38 ms 166.82 ms -2.17% (-2.70% to -1.92%)
aggregate-leanxmss-100-2to1-node 16 arm64 Neoverse-V2 Proving time 110.65 ms 107.66 ms -2.70% (-3.36% to -2.34%)
aggregate-leanxmss-100-2to1-node 1 x86-64 INTEL(R) XEON(R) GOLD 6548N Proving time 621.26 ms 622.38 ms -0.12% (-0.28% to +0.80%)
aggregate-leanxmss-100-2to1-node 4 x86-64 INTEL(R) XEON(R) GOLD 6548N Proving time 195.02 ms 196.01 ms +0.13% (-0.36% to +2.51%)
aggregate-leanxmss-100-2to1-node 8 x86-64 INTEL(R) XEON(R) GOLD 6548N Proving time 122.51 ms 121.50 ms -1.02% (-1.66% to +0.05%)
aggregate-leanxmss-100-2to1-node 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Proving time 96.89 ms 97.26 ms -0.05% (-2.66% to +2.80%)
aggregate-leanxmss-100-4to1-first 1 arm64 Neoverse-V2 Proving time 1.93 s 1.88 s -2.82% (-3.25% to -2.27%)
aggregate-leanxmss-100-4to1-first 4 arm64 Neoverse-V2 Proving time 532.44 ms 519.32 ms -2.53% (-2.81% to -2.12%)
aggregate-leanxmss-100-4to1-first 8 arm64 Neoverse-V2 Proving time 306.48 ms 298.66 ms -2.65% (-2.76% to -2.47%)
aggregate-leanxmss-100-4to1-first 16 arm64 Neoverse-V2 Proving time 198.21 ms 193.57 ms -3.08% (-9.34% to -1.13%)
aggregate-leanxmss-100-4to1-first 1 x86-64 INTEL(R) XEON(R) GOLD 6548N Proving time 1.13 s 1.13 s +0.36% (-0.48% to +1.27%)
aggregate-leanxmss-100-4to1-first 4 x86-64 INTEL(R) XEON(R) GOLD 6548N Proving time 347.06 ms 347.71 ms +0.02% (-0.61% to +0.71%)
aggregate-leanxmss-100-4to1-first 8 x86-64 INTEL(R) XEON(R) GOLD 6548N Proving time 210.18 ms 210.73 ms +0.35% (-1.05% to +0.71%)
aggregate-leanxmss-100-4to1-first 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Proving time 166.65 ms 165.40 ms -1.15% (-2.67% to +2.73%)
aggregate-leanxmss-100-4to1-node 1 arm64 Neoverse-V2 Proving time 2.12 s 2.07 s -2.40% (-3.10% to -2.14%)
aggregate-leanxmss-100-4to1-node 4 arm64 Neoverse-V2 Proving time 582.28 ms 569.50 ms -2.56% (-3.42% to -2.01%)
aggregate-leanxmss-100-4to1-node 8 arm64 Neoverse-V2 Proving time 335.17 ms 326.75 ms -2.51% (-2.62% to -2.34%)
aggregate-leanxmss-100-4to1-node 16 arm64 Neoverse-V2 Proving time 217.46 ms 211.45 ms -3.83% (-4.91% to -1.47%)
aggregate-leanxmss-100-4to1-node 1 x86-64 INTEL(R) XEON(R) GOLD 6548N Proving time 1.24 s 1.25 s +0.92% (-0.48% to +1.85%)
aggregate-leanxmss-100-4to1-node 4 x86-64 INTEL(R) XEON(R) GOLD 6548N Proving time 381.06 ms 380.94 ms +0.30% (-0.46% to +1.24%)
aggregate-leanxmss-100-4to1-node 8 x86-64 INTEL(R) XEON(R) GOLD 6548N Proving time 229.31 ms 227.16 ms -1.04% (-10.88% to +1.09%)
aggregate-leanxmss-100-4to1-node 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Proving time 174.17 ms 179.05 ms -1.19% (-6.34% to +4.35%)
leanxmss-100 1 arm64 Neoverse-V2 Proving time 1.85 s 1.81 s -2.01% (-2.30% to -1.91%)
leanxmss-100 4 arm64 Neoverse-V2 Proving time 489.84 ms 480.11 ms -2.19% (-16.99% to -1.81%)
leanxmss-100 8 arm64 Neoverse-V2 Proving time 273.70 ms 268.09 ms -2.06% (-2.14% to -1.98%)
leanxmss-100 16 arm64 Neoverse-V2 Proving time 168.99 ms 165.31 ms -2.17% (-2.96% to -0.38%)
leanxmss-100 1 x86-64 INTEL(R) XEON(R) GOLD 6548N Proving time 928.30 ms 951.94 ms +1.53% (-5.43% to +3.55%)
leanxmss-100 4 x86-64 INTEL(R) XEON(R) GOLD 6548N Proving time 282.66 ms 287.57 ms +0.03% (-2.17% to +2.59%)
leanxmss-100 8 x86-64 INTEL(R) XEON(R) GOLD 6548N Proving time 178.57 ms 178.32 ms -0.07% (-4.07% to +0.35%)
leanxmss-100 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Proving time 137.37 ms 137.76 ms +0.58% (-5.41% to +7.36%)
aggregate-leanxmss-100-2to1-first 1 arm64 Neoverse-V2 Verifying time 4.18 ms 4.17 ms +0.17% (-0.57% to +0.39%)
aggregate-leanxmss-100-2to1-first 4 arm64 Neoverse-V2 Verifying time 3.19 ms 3.16 ms -0.67% (-1.17% to +0.10%)
aggregate-leanxmss-100-2to1-first 8 arm64 Neoverse-V2 Verifying time 2.90 ms 2.89 ms -0.68% (-3.90% to +0.01%)
aggregate-leanxmss-100-2to1-first 16 arm64 Neoverse-V2 Verifying time 2.92 ms 2.93 ms +0.49% (-0.35% to +1.74%)
aggregate-leanxmss-100-2to1-first 1 x86-64 INTEL(R) XEON(R) GOLD 6548N Verifying time 4.17 ms 4.31 ms +0.52% (-5.08% to +4.17%)
aggregate-leanxmss-100-2to1-first 4 x86-64 INTEL(R) XEON(R) GOLD 6548N Verifying time 3.03 ms 3.09 ms +2.63% (-1.28% to +3.41%)
aggregate-leanxmss-100-2to1-first 8 x86-64 INTEL(R) XEON(R) GOLD 6548N Verifying time 3.05 ms 3.02 ms -1.52% (-4.93% to +0.75%)
aggregate-leanxmss-100-2to1-first 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Verifying time 3.28 ms 3.32 ms +1.03% (-8.25% to +2.82%)
aggregate-leanxmss-100-2to1-node 1 arm64 Neoverse-V2 Verifying time 6.88 ms 6.85 ms -0.40% (-1.88% to +1.21%)
aggregate-leanxmss-100-2to1-node 4 arm64 Neoverse-V2 Verifying time 3.97 ms 3.93 ms -1.73% (-2.37% to -0.10%)
aggregate-leanxmss-100-2to1-node 8 arm64 Neoverse-V2 Verifying time 3.34 ms 3.34 ms +0.22% (-1.32% to +1.86%)
aggregate-leanxmss-100-2to1-node 16 arm64 Neoverse-V2 Verifying time 3.20 ms 3.20 ms -0.22% (-0.71% to +0.27%)
aggregate-leanxmss-100-2to1-node 1 x86-64 INTEL(R) XEON(R) GOLD 6548N Verifying time 7.94 ms 8.02 ms +0.49% (-4.61% to +3.13%)
aggregate-leanxmss-100-2to1-node 4 x86-64 INTEL(R) XEON(R) GOLD 6548N Verifying time 3.94 ms 4.00 ms +0.83% (-0.96% to +5.77%)
aggregate-leanxmss-100-2to1-node 8 x86-64 INTEL(R) XEON(R) GOLD 6548N Verifying time 3.47 ms 3.47 ms -1.01% (-2.48% to +0.36%)
aggregate-leanxmss-100-2to1-node 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Verifying time 3.47 ms 3.39 ms -2.53% (-5.81% to +2.16%)
aggregate-leanxmss-100-4to1-first 1 arm64 Neoverse-V2 Verifying time 5.06 ms 5.04 ms -0.19% (-0.83% to +1.93%)
aggregate-leanxmss-100-4to1-first 4 arm64 Neoverse-V2 Verifying time 3.51 ms 3.48 ms -0.65% (-5.48% to +3.29%)
aggregate-leanxmss-100-4to1-first 8 arm64 Neoverse-V2 Verifying time 3.17 ms 3.17 ms -0.08% (-0.75% to +0.03%)
aggregate-leanxmss-100-4to1-first 16 arm64 Neoverse-V2 Verifying time 3.22 ms 3.26 ms -0.64% (-2.59% to +6.04%)
aggregate-leanxmss-100-4to1-first 1 x86-64 INTEL(R) XEON(R) GOLD 6548N Verifying time 4.57 ms 4.62 ms +1.15% (-4.15% to +3.89%)
aggregate-leanxmss-100-4to1-first 4 x86-64 INTEL(R) XEON(R) GOLD 6548N Verifying time 3.32 ms 3.33 ms -0.43% (-5.55% to +4.44%)
aggregate-leanxmss-100-4to1-first 8 x86-64 INTEL(R) XEON(R) GOLD 6548N Verifying time 3.06 ms 3.08 ms +0.29% (-2.72% to +2.24%)
aggregate-leanxmss-100-4to1-first 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Verifying time 3.49 ms 3.47 ms -2.62% (-4.77% to +4.30%)
aggregate-leanxmss-100-4to1-node 1 arm64 Neoverse-V2 Verifying time 10.26 ms 10.52 ms +1.98% (-0.17% to +5.94%)
aggregate-leanxmss-100-4to1-node 4 arm64 Neoverse-V2 Verifying time 5.05 ms 4.87 ms -0.75% (-7.01% to -0.27%)
aggregate-leanxmss-100-4to1-node 8 arm64 Neoverse-V2 Verifying time 3.98 ms 4.00 ms +0.15% (-0.26% to +1.29%)
aggregate-leanxmss-100-4to1-node 16 arm64 Neoverse-V2 Verifying time 3.75 ms 3.75 ms -1.16% (-2.33% to +2.76%)
aggregate-leanxmss-100-4to1-node 1 x86-64 INTEL(R) XEON(R) GOLD 6548N Verifying time 10.86 ms 10.90 ms +0.76% (-6.29% to +1.60%)
aggregate-leanxmss-100-4to1-node 4 x86-64 INTEL(R) XEON(R) GOLD 6548N Verifying time 5.31 ms 5.33 ms +0.19% (-0.82% to +2.12%)
aggregate-leanxmss-100-4to1-node 8 x86-64 INTEL(R) XEON(R) GOLD 6548N Verifying time 4.12 ms 4.08 ms -0.08% (-2.24% to +4.33%)
aggregate-leanxmss-100-4to1-node 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Verifying time 4.02 ms 3.98 ms +0.66% (-4.76% to +2.66%)
leanxmss-100 1 arm64 Neoverse-V2 Verifying time 3.24 ms 3.24 ms -0.50% (-2.41% to +0.39%)
leanxmss-100 4 arm64 Neoverse-V2 Verifying time 3.16 ms 3.15 ms -0.10% (-6.70% to +0.76%)
leanxmss-100 8 arm64 Neoverse-V2 Verifying time 3.21 ms 3.21 ms -0.15% (-0.49% to +0.58%)
leanxmss-100 16 arm64 Neoverse-V2 Verifying time 3.55 ms 3.47 ms -2.16% (-5.01% to +0.65%)
leanxmss-100 1 x86-64 INTEL(R) XEON(R) GOLD 6548N Verifying time 2.89 ms 2.85 ms +0.30% (-4.17% to +7.93%)
leanxmss-100 4 x86-64 INTEL(R) XEON(R) GOLD 6548N Verifying time 3.06 ms 3.11 ms +2.58% (-4.66% to +5.62%)
leanxmss-100 8 x86-64 INTEL(R) XEON(R) GOLD 6548N Verifying time 3.31 ms 3.28 ms -0.88% (-1.01% to -0.33%)
leanxmss-100 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Verifying time 3.62 ms 3.63 ms +0.34% (-2.16% to +3.16%)
aggregate-leanxmss-100-2to1-first 1 arm64 Neoverse-V2 Proof size 259,955 B 259,955 B 0 B (+0.00%)
aggregate-leanxmss-100-2to1-first 4 arm64 Neoverse-V2 Proof size 259,955 B 259,955 B 0 B (+0.00%)
aggregate-leanxmss-100-2to1-first 8 arm64 Neoverse-V2 Proof size 259,955 B 259,955 B 0 B (+0.00%)
aggregate-leanxmss-100-2to1-first 16 arm64 Neoverse-V2 Proof size 259,955 B 259,955 B 0 B (+0.00%)
aggregate-leanxmss-100-2to1-first 1 x86-64 INTEL(R) XEON(R) GOLD 6548N Proof size 259,955 B 259,955 B 0 B (+0.00%)
aggregate-leanxmss-100-2to1-first 4 x86-64 INTEL(R) XEON(R) GOLD 6548N Proof size 259,955 B 259,955 B 0 B (+0.00%)
aggregate-leanxmss-100-2to1-first 8 x86-64 INTEL(R) XEON(R) GOLD 6548N Proof size 259,955 B 259,955 B 0 B (+0.00%)
aggregate-leanxmss-100-2to1-first 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Proof size 259,955 B 259,955 B 0 B (+0.00%)
aggregate-leanxmss-100-2to1-node 1 arm64 Neoverse-V2 Proof size 259,059 B 259,059 B 0 B (+0.00%)
aggregate-leanxmss-100-2to1-node 4 arm64 Neoverse-V2 Proof size 259,059 B 259,059 B 0 B (+0.00%)
aggregate-leanxmss-100-2to1-node 8 arm64 Neoverse-V2 Proof size 259,059 B 259,059 B 0 B (+0.00%)
aggregate-leanxmss-100-2to1-node 16 arm64 Neoverse-V2 Proof size 259,059 B 259,059 B 0 B (+0.00%)
aggregate-leanxmss-100-2to1-node 1 x86-64 INTEL(R) XEON(R) GOLD 6548N Proof size 259,059 B 259,059 B 0 B (+0.00%)
aggregate-leanxmss-100-2to1-node 4 x86-64 INTEL(R) XEON(R) GOLD 6548N Proof size 259,059 B 259,059 B 0 B (+0.00%)
aggregate-leanxmss-100-2to1-node 8 x86-64 INTEL(R) XEON(R) GOLD 6548N Proof size 259,059 B 259,059 B 0 B (+0.00%)
aggregate-leanxmss-100-2to1-node 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Proof size 259,059 B 259,059 B 0 B (+0.00%)
aggregate-leanxmss-100-4to1-first 1 arm64 Neoverse-V2 Proof size 284,779 B 284,779 B 0 B (+0.00%)
aggregate-leanxmss-100-4to1-first 4 arm64 Neoverse-V2 Proof size 284,779 B 284,779 B 0 B (+0.00%)
aggregate-leanxmss-100-4to1-first 8 arm64 Neoverse-V2 Proof size 284,779 B 284,779 B 0 B (+0.00%)
aggregate-leanxmss-100-4to1-first 16 arm64 Neoverse-V2 Proof size 284,779 B 284,779 B 0 B (+0.00%)
aggregate-leanxmss-100-4to1-first 1 x86-64 INTEL(R) XEON(R) GOLD 6548N Proof size 284,779 B 284,779 B 0 B (+0.00%)
aggregate-leanxmss-100-4to1-first 4 x86-64 INTEL(R) XEON(R) GOLD 6548N Proof size 284,779 B 284,779 B 0 B (+0.00%)
aggregate-leanxmss-100-4to1-first 8 x86-64 INTEL(R) XEON(R) GOLD 6548N Proof size 284,779 B 284,779 B 0 B (+0.00%)
aggregate-leanxmss-100-4to1-first 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Proof size 284,779 B 284,779 B 0 B (+0.00%)
aggregate-leanxmss-100-4to1-node 1 arm64 Neoverse-V2 Proof size 283,691 B 283,691 B 0 B (+0.00%)
aggregate-leanxmss-100-4to1-node 4 arm64 Neoverse-V2 Proof size 283,691 B 283,691 B 0 B (+0.00%)
aggregate-leanxmss-100-4to1-node 8 arm64 Neoverse-V2 Proof size 283,691 B 283,691 B 0 B (+0.00%)
aggregate-leanxmss-100-4to1-node 16 arm64 Neoverse-V2 Proof size 283,691 B 283,691 B 0 B (+0.00%)
aggregate-leanxmss-100-4to1-node 1 x86-64 INTEL(R) XEON(R) GOLD 6548N Proof size 283,691 B 283,691 B 0 B (+0.00%)
aggregate-leanxmss-100-4to1-node 4 x86-64 INTEL(R) XEON(R) GOLD 6548N Proof size 283,691 B 283,691 B 0 B (+0.00%)
aggregate-leanxmss-100-4to1-node 8 x86-64 INTEL(R) XEON(R) GOLD 6548N Proof size 283,691 B 283,691 B 0 B (+0.00%)
aggregate-leanxmss-100-4to1-node 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Proof size 283,691 B 283,691 B 0 B (+0.00%)
leanxmss-100 1 arm64 Neoverse-V2 Proof size 305,886 B 305,886 B 0 B (+0.00%)
leanxmss-100 4 arm64 Neoverse-V2 Proof size 305,886 B 305,886 B 0 B (+0.00%)
leanxmss-100 8 arm64 Neoverse-V2 Proof size 305,886 B 305,886 B 0 B (+0.00%)
leanxmss-100 16 arm64 Neoverse-V2 Proof size 305,886 B 305,886 B 0 B (+0.00%)
leanxmss-100 1 x86-64 INTEL(R) XEON(R) GOLD 6548N Proof size 305,886 B 305,886 B 0 B (+0.00%)
leanxmss-100 4 x86-64 INTEL(R) XEON(R) GOLD 6548N Proof size 305,886 B 305,886 B 0 B (+0.00%)
leanxmss-100 8 x86-64 INTEL(R) XEON(R) GOLD 6548N Proof size 305,886 B 305,886 B 0 B (+0.00%)
leanxmss-100 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Proof size 305,886 B 305,886 B 0 B (+0.00%)
aggregate-leanxmss-100-2to1-first 1 arm64 Neoverse-V2 Peak memory 1560.37 MiB 1552.26 MiB -0.52% (-0.64% to -0.51%)
aggregate-leanxmss-100-2to1-first 4 arm64 Neoverse-V2 Peak memory 1592.38 MiB 1590.28 MiB -0.12% (-0.24% to +0.00%)
aggregate-leanxmss-100-2to1-first 8 arm64 Neoverse-V2 Peak memory 1628.50 MiB 1627.62 MiB -0.06% (-0.25% to +0.39%)
aggregate-leanxmss-100-2to1-first 16 arm64 Neoverse-V2 Peak memory 1704.02 MiB 1700.84 MiB +0.30% (-0.75% to +0.81%)
aggregate-leanxmss-100-2to1-first 1 x86-64 INTEL(R) XEON(R) GOLD 6548N Peak memory 834.37 MiB 834.37 MiB +0.00% (-0.24% to +0.24%)
aggregate-leanxmss-100-2to1-first 4 x86-64 INTEL(R) XEON(R) GOLD 6548N Peak memory 865.79 MiB 863.37 MiB -0.06% (-1.03% to +0.68%)
aggregate-leanxmss-100-2to1-first 8 x86-64 INTEL(R) XEON(R) GOLD 6548N Peak memory 893.30 MiB 895.27 MiB +0.20% (-0.35% to +0.83%)
aggregate-leanxmss-100-2to1-first 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Peak memory 933.37 MiB 932.00 MiB +0.00% (-1.05% to +0.39%)
aggregate-leanxmss-100-2to1-node 1 arm64 Neoverse-V2 Peak memory 1560.62 MiB 1552.50 MiB -0.52% (-0.65% to -0.52%)
aggregate-leanxmss-100-2to1-node 4 arm64 Neoverse-V2 Peak memory 1592.88 MiB 1590.91 MiB -0.10% (-0.25% to -0.00%)
aggregate-leanxmss-100-2to1-node 8 arm64 Neoverse-V2 Peak memory 1630.38 MiB 1630.50 MiB -0.06% (-0.31% to +0.32%)
aggregate-leanxmss-100-2to1-node 16 arm64 Neoverse-V2 Peak memory 1720.83 MiB 1725.23 MiB +0.26% (-0.47% to +0.71%)
aggregate-leanxmss-100-2to1-node 1 x86-64 INTEL(R) XEON(R) GOLD 6548N Peak memory 834.37 MiB 834.37 MiB +0.00% (-0.24% to +0.24%)
aggregate-leanxmss-100-2to1-node 4 x86-64 INTEL(R) XEON(R) GOLD 6548N Peak memory 872.30 MiB 871.77 MiB -0.02% (-0.29% to +0.39%)
aggregate-leanxmss-100-2to1-node 8 x86-64 INTEL(R) XEON(R) GOLD 6548N Peak memory 909.49 MiB 907.03 MiB -0.22% (-1.39% to +0.56%)
aggregate-leanxmss-100-2to1-node 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Peak memory 964.57 MiB 971.15 MiB +0.92% (-0.45% to +1.67%)
aggregate-leanxmss-100-4to1-first 1 arm64 Neoverse-V2 Peak memory 1948.52 MiB 1940.55 MiB -0.42% (-0.42% to -0.40%)
aggregate-leanxmss-100-4to1-first 4 arm64 Neoverse-V2 Peak memory 1977.60 MiB 1978.61 MiB +0.05% (-0.10% to +0.12%)
aggregate-leanxmss-100-4to1-first 8 arm64 Neoverse-V2 Peak memory 2017.05 MiB 2019.28 MiB +0.14% (+0.00% to +0.23%)
aggregate-leanxmss-100-4to1-first 16 arm64 Neoverse-V2 Peak memory 2102.55 MiB 2102.51 MiB -0.00% (-0.29% to +0.79%)
aggregate-leanxmss-100-4to1-first 1 x86-64 INTEL(R) XEON(R) GOLD 6548N Peak memory 1020.37 MiB 1020.62 MiB +0.02% (-0.00% to +0.22%)
aggregate-leanxmss-100-4to1-first 4 x86-64 INTEL(R) XEON(R) GOLD 6548N Peak memory 1056.91 MiB 1055.28 MiB -0.11% (-0.60% to +0.26%)
aggregate-leanxmss-100-4to1-first 8 x86-64 INTEL(R) XEON(R) GOLD 6548N Peak memory 1083.98 MiB 1085.14 MiB +0.24% (-0.17% to +0.36%)
aggregate-leanxmss-100-4to1-first 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Peak memory 1133.93 MiB 1131.90 MiB -0.14% (-1.05% to +0.46%)
aggregate-leanxmss-100-4to1-node 1 arm64 Neoverse-V2 Peak memory 1957.04 MiB 1943.03 MiB -0.62% (-0.92% to +0.09%)
aggregate-leanxmss-100-4to1-node 4 arm64 Neoverse-V2 Peak memory 1984.61 MiB 1979.23 MiB -0.28% (-0.31% to +0.12%)
aggregate-leanxmss-100-4to1-node 8 arm64 Neoverse-V2 Peak memory 2020.93 MiB 2022.08 MiB +0.11% (-0.06% to +0.22%)
aggregate-leanxmss-100-4to1-node 16 arm64 Neoverse-V2 Peak memory 2119.33 MiB 2113.25 MiB -0.04% (-0.76% to +1.10%)
aggregate-leanxmss-100-4to1-node 1 x86-64 INTEL(R) XEON(R) GOLD 6548N Peak memory 1046.37 MiB 1046.62 MiB +0.02% (-0.19% to +1.35%)
aggregate-leanxmss-100-4to1-node 4 x86-64 INTEL(R) XEON(R) GOLD 6548N Peak memory 1070.36 MiB 1069.53 MiB -0.08% (-0.84% to +0.13%)
aggregate-leanxmss-100-4to1-node 8 x86-64 INTEL(R) XEON(R) GOLD 6548N Peak memory 1104.31 MiB 1102.97 MiB -0.19% (-0.44% to +0.55%)
aggregate-leanxmss-100-4to1-node 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Peak memory 1172.14 MiB 1169.66 MiB -0.22% (-0.90% to -0.06%)
leanxmss-100 1 arm64 Neoverse-V2 Peak memory 1402.71 MiB 1392.60 MiB -0.73% (-0.87% to -0.57%)
leanxmss-100 4 arm64 Neoverse-V2 Peak memory 1413.92 MiB 1414.95 MiB +0.07% (-0.59% to +0.49%)
leanxmss-100 8 arm64 Neoverse-V2 Peak memory 1456.79 MiB 1458.93 MiB +0.15% (-0.02% to +0.48%)
leanxmss-100 16 arm64 Neoverse-V2 Peak memory 1521.72 MiB 1521.73 MiB +0.20% (-0.42% to +0.54%)
leanxmss-100 1 x86-64 INTEL(R) XEON(R) GOLD 6548N Peak memory 646.37 MiB 646.38 MiB +0.31% (-0.31% to +0.35%)
leanxmss-100 4 x86-64 INTEL(R) XEON(R) GOLD 6548N Peak memory 666.98 MiB 667.98 MiB +0.34% (-0.28% to +0.35%)
leanxmss-100 8 x86-64 INTEL(R) XEON(R) GOLD 6548N Peak memory 687.34 MiB 688.09 MiB +0.06% (-0.54% to +0.53%)
leanxmss-100 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Peak memory 711.79 MiB 715.29 MiB +0.49% (+0.03% to +0.77%)
aggregate-leanxmss-100-2to1-first 1 arm64 Neoverse-V2 Peak heap 600.70 MiB 600.70 MiB +0.00% (+0.00% to +0.00%)
aggregate-leanxmss-100-2to1-first 4 arm64 Neoverse-V2 Peak heap 600.63 MiB 600.64 MiB +0.00% (-0.00% to +0.01%)
aggregate-leanxmss-100-2to1-first 8 arm64 Neoverse-V2 Peak heap 600.62 MiB 600.57 MiB -0.01% (-0.02% to +0.00%)
aggregate-leanxmss-100-2to1-first 16 arm64 Neoverse-V2 Peak heap 600.60 MiB 600.56 MiB -0.02% (-0.02% to +0.00%)
aggregate-leanxmss-100-2to1-first 1 x86-64 INTEL(R) XEON(R) GOLD 6548N Peak heap 318.99 MiB 318.99 MiB +0.00% (+0.00% to +0.00%)
aggregate-leanxmss-100-2to1-first 4 x86-64 INTEL(R) XEON(R) GOLD 6548N Peak heap 319.00 MiB 319.09 MiB +0.03% (-0.02% to +0.03%)
aggregate-leanxmss-100-2to1-first 8 x86-64 INTEL(R) XEON(R) GOLD 6548N Peak heap 319.06 MiB 319.08 MiB +0.01% (-0.03% to +0.03%)
aggregate-leanxmss-100-2to1-first 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Peak heap 319.05 MiB 319.16 MiB +0.03% (+0.02% to +0.09%)
aggregate-leanxmss-100-2to1-node 1 arm64 Neoverse-V2 Peak heap 600.37 MiB 600.37 MiB +0.00% (+0.00% to +0.00%)
aggregate-leanxmss-100-2to1-node 4 arm64 Neoverse-V2 Peak heap 600.30 MiB 600.30 MiB +0.00% (-0.01% to +0.01%)
aggregate-leanxmss-100-2to1-node 8 arm64 Neoverse-V2 Peak heap 600.23 MiB 600.29 MiB +0.01% (-0.01% to +0.02%)
aggregate-leanxmss-100-2to1-node 16 arm64 Neoverse-V2 Peak heap 600.27 MiB 600.26 MiB -0.00% (-0.00% to +0.02%)
aggregate-leanxmss-100-2to1-node 1 x86-64 INTEL(R) XEON(R) GOLD 6548N Peak heap 318.66 MiB 318.66 MiB +0.00% (+0.00% to +0.00%)
aggregate-leanxmss-100-2to1-node 4 x86-64 INTEL(R) XEON(R) GOLD 6548N Peak heap 318.68 MiB 318.72 MiB +0.02% (-0.02% to +0.03%)
aggregate-leanxmss-100-2to1-node 8 x86-64 INTEL(R) XEON(R) GOLD 6548N Peak heap 318.73 MiB 318.73 MiB -0.02% (-0.04% to +0.04%)
aggregate-leanxmss-100-2to1-node 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Peak heap 318.64 MiB 318.77 MiB +0.02% (-0.03% to +0.08%)
aggregate-leanxmss-100-4to1-first 1 arm64 Neoverse-V2 Peak heap 1201.27 MiB 1201.27 MiB +0.00% (+0.00% to +0.00%)
aggregate-leanxmss-100-4to1-first 4 arm64 Neoverse-V2 Peak heap 1201.27 MiB 1201.27 MiB +0.00% (-0.00% to +0.01%)
aggregate-leanxmss-100-4to1-first 8 arm64 Neoverse-V2 Peak heap 1201.22 MiB 1201.23 MiB +0.00% (-0.00% to +0.01%)
aggregate-leanxmss-100-4to1-first 16 arm64 Neoverse-V2 Peak heap 1201.14 MiB 1201.12 MiB -0.00% (-0.01% to +0.02%)
aggregate-leanxmss-100-4to1-first 1 x86-64 INTEL(R) XEON(R) GOLD 6548N Peak heap 637.91 MiB 637.91 MiB +0.00% (+0.00% to +0.00%)
aggregate-leanxmss-100-4to1-first 4 x86-64 INTEL(R) XEON(R) GOLD 6548N Peak heap 637.90 MiB 637.92 MiB -0.00% (-0.01% to +0.01%)
aggregate-leanxmss-100-4to1-first 8 x86-64 INTEL(R) XEON(R) GOLD 6548N Peak heap 637.86 MiB 637.90 MiB -0.01% (-0.04% to +0.01%)
aggregate-leanxmss-100-4to1-first 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Peak heap 637.99 MiB 637.99 MiB -0.00% (-0.03% to +0.01%)
aggregate-leanxmss-100-4to1-node 1 arm64 Neoverse-V2 Peak heap 1200.73 MiB 1200.73 MiB +0.00% (+0.00% to +0.00%)
aggregate-leanxmss-100-4to1-node 4 arm64 Neoverse-V2 Peak heap 1200.73 MiB 1200.71 MiB -0.00% (-0.01% to +0.00%)
aggregate-leanxmss-100-4to1-node 8 arm64 Neoverse-V2 Peak heap 1200.67 MiB 1200.67 MiB +0.00% (-0.00% to +0.01%)
aggregate-leanxmss-100-4to1-node 16 arm64 Neoverse-V2 Peak heap 1200.58 MiB 1200.64 MiB +0.00% (-0.00% to +0.01%)
aggregate-leanxmss-100-4to1-node 1 x86-64 INTEL(R) XEON(R) GOLD 6548N Peak heap 637.36 MiB 637.36 MiB +0.00% (+0.00% to +0.00%)
aggregate-leanxmss-100-4to1-node 4 x86-64 INTEL(R) XEON(R) GOLD 6548N Peak heap 637.34 MiB 637.38 MiB +0.01% (-0.01% to +0.02%)
aggregate-leanxmss-100-4to1-node 8 x86-64 INTEL(R) XEON(R) GOLD 6548N Peak heap 637.33 MiB 637.36 MiB +0.00% (-0.00% to +0.01%)
aggregate-leanxmss-100-4to1-node 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Peak heap 637.46 MiB 637.40 MiB -0.01% (-0.04% to +0.05%)
leanxmss-100 1 arm64 Neoverse-V2 Peak heap 1201.98 MiB 1201.98 MiB +0.00% (+0.00% to +0.00%)
leanxmss-100 4 arm64 Neoverse-V2 Peak heap 1202.06 MiB 1202.03 MiB -0.00% (-0.01% to +0.00%)
leanxmss-100 8 arm64 Neoverse-V2 Peak heap 1201.86 MiB 1201.82 MiB +0.00% (-0.00% to +0.01%)
leanxmss-100 16 arm64 Neoverse-V2 Peak heap 1201.72 MiB 1201.66 MiB -0.01% (-0.01% to +0.01%)
leanxmss-100 1 x86-64 INTEL(R) XEON(R) GOLD 6548N Peak heap 557.73 MiB 557.73 MiB +0.00% (+0.00% to +0.00%)
leanxmss-100 4 x86-64 INTEL(R) XEON(R) GOLD 6548N Peak heap 557.81 MiB 557.76 MiB -0.00% (-0.02% to +0.00%)
leanxmss-100 8 x86-64 INTEL(R) XEON(R) GOLD 6548N Peak heap 557.96 MiB 557.89 MiB +0.00% (-0.02% to +0.02%)
leanxmss-100 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Peak heap 558.11 MiB 557.93 MiB -0.01% (-0.07% to -0.01%)
aggregate-leanxmss-100-2to1-first 1 arm64 Neoverse-V2 Allocations 20,793 20,793 +0.00% (+0.00% to +0.00%)
aggregate-leanxmss-100-2to1-first 4 arm64 Neoverse-V2 Allocations 20,919 20,919 +0.00% (+0.00% to +0.00%)
aggregate-leanxmss-100-2to1-first 8 arm64 Neoverse-V2 Allocations 21,063 21,063 +0.00% (+0.00% to +0.00%)
aggregate-leanxmss-100-2to1-first 16 arm64 Neoverse-V2 Allocations 21,351 21,351 +0.00% (+0.00% to +0.06%)
aggregate-leanxmss-100-2to1-first 1 x86-64 INTEL(R) XEON(R) GOLD 6548N Allocations 20,895 20,895 +0.00% (+0.00% to +0.00%)
aggregate-leanxmss-100-2to1-first 4 x86-64 INTEL(R) XEON(R) GOLD 6548N Allocations 21,024 21,024 +0.00% (+0.00% to +0.00%)
aggregate-leanxmss-100-2to1-first 8 x86-64 INTEL(R) XEON(R) GOLD 6548N Allocations 21,172 21,172 +0.00% (+0.00% to +0.00%)
aggregate-leanxmss-100-2to1-first 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Allocations 21,468 21,468 +0.00% (+0.00% to +0.00%)
aggregate-leanxmss-100-2to1-node 1 arm64 Neoverse-V2 Allocations 25,615 25,615 +0.00% (+0.00% to +0.00%)
aggregate-leanxmss-100-2to1-node 4 arm64 Neoverse-V2 Allocations 25,741 25,741 +0.00% (+0.00% to +0.00%)
aggregate-leanxmss-100-2to1-node 8 arm64 Neoverse-V2 Allocations 25,885 25,885 +0.00% (+0.00% to +0.00%)
aggregate-leanxmss-100-2to1-node 16 arm64 Neoverse-V2 Allocations 26,173 26,173 +0.00% (+0.00% to +0.00%)
aggregate-leanxmss-100-2to1-node 1 x86-64 INTEL(R) XEON(R) GOLD 6548N Allocations 25,709 25,709 +0.00% (+0.00% to +0.00%)
aggregate-leanxmss-100-2to1-node 4 x86-64 INTEL(R) XEON(R) GOLD 6548N Allocations 25,838 25,838 +0.00% (+0.00% to +0.00%)
aggregate-leanxmss-100-2to1-node 8 x86-64 INTEL(R) XEON(R) GOLD 6548N Allocations 25,986 25,986 +0.00% (+0.00% to +0.00%)
aggregate-leanxmss-100-2to1-node 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Allocations 26,282 26,282 +0.00% (-0.00% to +0.00%)
aggregate-leanxmss-100-4to1-first 1 arm64 Neoverse-V2 Allocations 36,615 36,615 +0.00% (+0.00% to +0.00%)
aggregate-leanxmss-100-4to1-first 4 arm64 Neoverse-V2 Allocations 36,753 36,753 +0.00% (+0.00% to +0.00%)
aggregate-leanxmss-100-4to1-first 8 arm64 Neoverse-V2 Allocations 36,937 36,937 +0.00% (+0.00% to +0.00%)
aggregate-leanxmss-100-4to1-first 16 arm64 Neoverse-V2 Allocations 37,257 37,257 +0.00% (-0.07% to +0.02%)
aggregate-leanxmss-100-4to1-first 1 x86-64 INTEL(R) XEON(R) GOLD 6548N Allocations 36,761 36,761 +0.00% (+0.00% to +0.00%)
aggregate-leanxmss-100-4to1-first 4 x86-64 INTEL(R) XEON(R) GOLD 6548N Allocations 36,902 36,902 +0.00% (+0.00% to +0.00%)
aggregate-leanxmss-100-4to1-first 8 x86-64 INTEL(R) XEON(R) GOLD 6548N Allocations 37,090 37,090 +0.00% (-0.02% to +0.00%)
aggregate-leanxmss-100-4to1-first 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Allocations 37,418 37,418 +0.00% (+0.00% to +0.00%)
aggregate-leanxmss-100-4to1-node 1 arm64 Neoverse-V2 Allocations 46,482 46,482 +0.00% (+0.00% to +0.00%)
aggregate-leanxmss-100-4to1-node 4 arm64 Neoverse-V2 Allocations 46,620 46,620 +0.00% (+0.00% to +0.00%)
aggregate-leanxmss-100-4to1-node 8 arm64 Neoverse-V2 Allocations 46,804 46,804 +0.00% (+0.00% to +0.00%)
aggregate-leanxmss-100-4to1-node 16 arm64 Neoverse-V2 Allocations 47,124 47,124 +0.00% (-0.03% to +0.04%)
aggregate-leanxmss-100-4to1-node 1 x86-64 INTEL(R) XEON(R) GOLD 6548N Allocations 46,628 46,628 +0.00% (+0.00% to +0.00%)
aggregate-leanxmss-100-4to1-node 4 x86-64 INTEL(R) XEON(R) GOLD 6548N Allocations 46,769 46,769 +0.00% (+0.00% to +0.00%)
aggregate-leanxmss-100-4to1-node 8 x86-64 INTEL(R) XEON(R) GOLD 6548N Allocations 46,957 46,957 +0.00% (+0.00% to +0.00%)
aggregate-leanxmss-100-4to1-node 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Allocations 47,285 47,285 +0.00% (+0.00% to +0.00%)
leanxmss-100 1 arm64 Neoverse-V2 Allocations 25,031 25,031 +0.00% (+0.00% to +0.00%)
leanxmss-100 4 arm64 Neoverse-V2 Allocations 25,249 25,249 +0.00% (+0.00% to +0.00%)
leanxmss-100 8 arm64 Neoverse-V2 Allocations 25,485 25,485 +0.00% (+0.00% to +0.00%)
leanxmss-100 16 arm64 Neoverse-V2 Allocations 25,957 25,957 +0.00% (+0.00% to +0.00%)
leanxmss-100 1 x86-64 INTEL(R) XEON(R) GOLD 6548N Allocations 25,549 25,549 +0.00% (+0.00% to +0.00%)
leanxmss-100 4 x86-64 INTEL(R) XEON(R) GOLD 6548N Allocations 25,804 25,804 +0.00% (+0.00% to +0.00%)
leanxmss-100 8 x86-64 INTEL(R) XEON(R) GOLD 6548N Allocations 26,088 26,088 +0.00% (-0.00% to +0.00%)
leanxmss-100 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Allocations 26,654 26,655 -0.00% (-0.01% to +0.02%)
Prover stages
benchmark threads runner CPU base this PR change
aggregate-leanxmss-100-2to1-first 1 arm64 Neoverse-V2 974.88 ms 950.01 ms -2.54% (-2.81% to -2.42%)
 ↳ build-circuit 12.26 ms 12.31 ms +0.16% (-0.83% to +2.79%)
 ↳ prove-recursion 939.65 ms 914.71 ms -2.66% (-2.88% to -2.52%)
 ↳ reduce-claims 15.81 ms 15.56 ms -1.58% (-3.28% to +2.75%)
 ↳ reduce-in-rows 1.44 ms 1.46 ms +2.35% (-3.89% to +5.20%)
 ↳ verify 6.09 ms 6.10 ms +0.28% (+0.06% to +1.08%)
aggregate-leanxmss-100-2to1-first 4 arm64 Neoverse-V2 277.23 ms 269.13 ms -3.01% (-3.47% to -2.57%)
 ↳ build-circuit 10.89 ms 10.90 ms +0.33% (-1.42% to +1.10%)
 ↳ prove-recursion 253.33 ms 245.38 ms -3.27% (-3.65% to -2.86%)
 ↳ reduce-claims 5.18 ms 5.15 ms -0.10% (-3.86% to +0.55%)
 ↳ reduce-in-rows 1.48 ms 1.49 ms +0.63% (-2.44% to +3.13%)
 ↳ verify 6.10 ms 6.11 ms +0.13% (-1.90% to +1.22%)
aggregate-leanxmss-100-2to1-first 8 arm64 Neoverse-V2 160.20 ms 155.91 ms -2.57% (-2.84% to -2.24%)
 ↳ build-circuit 10.36 ms 10.12 ms -1.72% (-3.22% to -0.97%)
 ↳ prove-recursion 138.18 ms 134.21 ms -2.85% (-3.09% to -2.56%)
 ↳ reduce-claims 4.05 ms 4.14 ms -1.01% (-1.18% to +7.74%)
 ↳ reduce-in-rows 1.47 ms 1.44 ms -0.08% (-4.69% to +0.88%)
 ↳ verify 6.08 ms 6.08 ms -0.03% (-1.28% to +0.10%)
aggregate-leanxmss-100-2to1-first 16 arm64 Neoverse-V2 105.01 ms 102.78 ms -2.89% (-4.60% to -1.01%)
 ↳ build-circuit 10.15 ms 10.15 ms +0.08% (-0.96% to +0.70%)
 ↳ prove-recursion 83.08 ms 80.69 ms -3.44% (-6.15% to -1.68%)
 ↳ reduce-claims 3.81 ms 3.97 ms +5.17% (-9.49% to +8.44%)
 ↳ reduce-in-rows 1.39 ms 1.40 ms -0.58% (-1.02% to +3.07%)
 ↳ verify 6.45 ms 6.47 ms +0.49% (-1.17% to +2.33%)
aggregate-leanxmss-100-2to1-first 1 x86-64 INTEL(R) XEON(R) GOLD 6548N 580.49 ms 579.24 ms -0.12% (-0.65% to +0.60%)
 ↳ build-circuit 14.92 ms 15.26 ms +2.34% (-3.53% to +3.88%)
 ↳ prove-recursion 537.94 ms 536.32 ms -0.15% (-0.72% to +0.43%)
 ↳ reduce-claims 18.81 ms 18.86 ms +0.24% (-0.92% to +2.88%)
 ↳ reduce-in-rows 2.01 ms 2.04 ms +2.69% (-10.63% to +9.29%)
 ↳ verify 6.79 ms 6.76 ms -0.42% (-1.40% to +0.50%)
aggregate-leanxmss-100-2to1-first 4 x86-64 INTEL(R) XEON(R) GOLD 6548N 182.82 ms 184.66 ms +1.01% (-2.64% to +1.70%)
 ↳ build-circuit 13.94 ms 14.40 ms +2.44% (-3.22% to +7.79%)
 ↳ prove-recursion 152.89 ms 153.86 ms +0.63% (-1.22% to +1.95%)
 ↳ reduce-claims 7.29 ms 7.25 ms +6.93% (-35.87% to +12.42%)
 ↳ reduce-in-rows 2.05 ms 2.07 ms +2.32% (-4.00% to +12.51%)
 ↳ verify 6.58 ms 6.61 ms +1.25% (-3.04% to +3.85%)
aggregate-leanxmss-100-2to1-first 8 x86-64 INTEL(R) XEON(R) GOLD 6548N 117.05 ms 118.05 ms +0.82% (-1.46% to +2.96%)
 ↳ build-circuit 13.77 ms 14.07 ms +0.44% (-5.27% to +3.73%)
 ↳ prove-recursion 87.42 ms 87.43 ms +0.12% (-0.63% to +4.81%)
 ↳ reduce-claims 6.69 ms 6.55 ms -2.07% (-20.29% to +39.16%)
 ↳ reduce-in-rows 2.05 ms 2.03 ms -1.20% (-9.04% to +1.55%)
 ↳ verify 6.81 ms 6.70 ms -0.97% (-3.09% to +0.85%)
aggregate-leanxmss-100-2to1-first 16 x86-64 INTEL(R) XEON(R) GOLD 6548N 97.51 ms 94.31 ms -2.80% (-7.90% to -1.57%)
 ↳ build-circuit 14.40 ms 14.26 ms +0.06% (-2.81% to +4.24%)
 ↳ prove-recursion 66.24 ms 63.07 ms -4.47% (-10.53% to -1.33%)
 ↳ reduce-claims 7.49 ms 7.39 ms -8.67% (-22.57% to +12.56%)
 ↳ reduce-in-rows 2.09 ms 2.05 ms -4.08% (-7.59% to +2.00%)
 ↳ verify 7.23 ms 7.20 ms -0.20% (-2.73% to +1.58%)
aggregate-leanxmss-100-2to1-node 1 arm64 Neoverse-V2 1.05 s 1.02 s -2.25% (-2.74% to -1.96%)
 ↳ build-circuit 12.37 ms 12.19 ms -1.51% (-3.37% to +2.18%)
 ↳ prove-recursion 996.65 ms 972.03 ms -2.37% (-2.84% to -2.03%)
 ↳ reduce-claims 30.93 ms 30.91 ms -0.51% (-1.12% to +0.40%)
 ↳ reduce-in-rows 1.54 ms 1.51 ms -0.49% (-3.15% to +3.16%)
aggregate-leanxmss-100-2to1-node 4 arm64 Neoverse-V2 296.04 ms 288.40 ms -2.58% (-2.92% to -2.23%)
 ↳ build-circuit 11.96 ms 11.89 ms -0.34% (-0.82% to +1.32%)
 ↳ prove-recursion 266.87 ms 259.22 ms -2.82% (-3.20% to -2.56%)
 ↳ reduce-claims 10.40 ms 10.54 ms +0.15% (-0.18% to +1.47%)
 ↳ reduce-in-rows 1.49 ms 1.51 ms +1.19% (-2.49% to +2.45%)
aggregate-leanxmss-100-2to1-node 8 arm64 Neoverse-V2 170.38 ms 166.82 ms -2.17% (-2.70% to -1.92%)
 ↳ build-circuit 11.35 ms 11.30 ms -0.42% (-1.95% to +1.07%)
 ↳ prove-recursion 144.69 ms 140.94 ms -2.58% (-3.16% to -2.42%)
 ↳ reduce-claims 7.63 ms 7.90 ms +2.50% (+0.03% to +5.80%)
 ↳ reduce-in-rows 1.52 ms 1.52 ms +0.12% (-5.46% to +2.78%)
aggregate-leanxmss-100-2to1-node 16 arm64 Neoverse-V2 110.65 ms 107.66 ms -2.70% (-3.36% to -2.34%)
 ↳ build-circuit 11.32 ms 11.16 ms +0.26% (-2.14% to +0.65%)
 ↳ prove-recursion 86.47 ms 83.24 ms -3.41% (-4.56% to -3.04%)
 ↳ reduce-claims 6.51 ms 6.65 ms +1.25% (-1.36% to +2.91%)
 ↳ reduce-in-rows 1.47 ms 1.46 ms -0.08% (-0.45% to +0.82%)
aggregate-leanxmss-100-2to1-node 1 x86-64 INTEL(R) XEON(R) GOLD 6548N 621.26 ms 622.38 ms -0.12% (-0.28% to +0.80%)
 ↳ build-circuit 16.23 ms 17.47 ms +4.24% (-3.05% to +9.56%)
 ↳ prove-recursion 560.38 ms 560.34 ms -0.06% (-0.50% to +0.43%)
 ↳ reduce-claims 35.63 ms 35.73 ms -0.15% (-1.48% to +2.83%)
 ↳ reduce-in-rows 2.09 ms 2.09 ms -3.05% (-4.51% to +3.28%)
aggregate-leanxmss-100-2to1-node 4 x86-64 INTEL(R) XEON(R) GOLD 6548N 195.02 ms 196.01 ms +0.13% (-0.36% to +2.51%)
 ↳ build-circuit 15.21 ms 15.19 ms +0.23% (-1.97% to +3.17%)
 ↳ prove-recursion 159.00 ms 160.04 ms +0.68% (-1.21% to +2.90%)
 ↳ reduce-claims 12.50 ms 12.63 ms +1.00% (-13.56% to +10.95%)
 ↳ reduce-in-rows 2.06 ms 2.08 ms -0.62% (-6.40% to +7.10%)
aggregate-leanxmss-100-2to1-node 8 x86-64 INTEL(R) XEON(R) GOLD 6548N 122.51 ms 121.50 ms -1.02% (-1.66% to +0.05%)
 ↳ build-circuit 14.93 ms 14.82 ms +0.18% (-4.52% to +1.55%)
 ↳ prove-recursion 90.78 ms 90.32 ms -0.32% (-1.37% to +0.11%)
 ↳ reduce-claims 9.73 ms 8.83 ms -1.52% (-13.94% to -0.00%)
 ↳ reduce-in-rows 2.10 ms 2.10 ms -2.90% (-4.91% to +7.30%)
aggregate-leanxmss-100-2to1-node 16 x86-64 INTEL(R) XEON(R) GOLD 6548N 96.89 ms 97.26 ms -0.05% (-2.66% to +2.80%)
 ↳ build-circuit 15.10 ms 15.34 ms +1.56% (+1.15% to +2.25%)
 ↳ prove-recursion 65.44 ms 63.01 ms -0.71% (-5.29% to +1.95%)
 ↳ reduce-claims 8.84 ms 9.05 ms +3.01% (-3.03% to +17.78%)
 ↳ reduce-in-rows 2.16 ms 2.14 ms -1.56% (-2.77% to +2.53%)
aggregate-leanxmss-100-4to1-first 1 arm64 Neoverse-V2 1.93 s 1.88 s -2.82% (-3.25% to -2.27%)
 ↳ build-circuit 25.01 ms 25.18 ms +0.98% (-2.52% to +1.07%)
 ↳ prove-recursion 1.87 s 1.82 s -2.93% (-3.29% to -2.32%)
 ↳ reduce-claims 21.36 ms 21.14 ms -1.00% (-1.37% to +0.49%)
 ↳ reduce-in-rows 2.85 ms 2.79 ms -1.88% (-4.35% to +2.14%)
 ↳ verify 12.03 ms 12.03 ms -0.01% (-2.16% to +0.32%)
aggregate-leanxmss-100-4to1-first 4 arm64 Neoverse-V2 532.44 ms 519.32 ms -2.53% (-2.81% to -2.12%)
 ↳ build-circuit 21.54 ms 21.91 ms +1.52% (+0.83% to +2.70%)
 ↳ prove-recursion 488.58 ms 475.46 ms -2.76% (-3.24% to -2.37%)
 ↳ reduce-claims 7.11 ms 6.97 ms -0.55% (-4.79% to +1.33%)
 ↳ reduce-in-rows 2.88 ms 2.89 ms +0.29% (-1.38% to +6.52%)
 ↳ verify 11.79 ms 11.93 ms +0.78% (-0.71% to +3.12%)
aggregate-leanxmss-100-4to1-first 8 arm64 Neoverse-V2 306.48 ms 298.66 ms -2.65% (-2.76% to -2.47%)
 ↳ build-circuit 20.82 ms 20.70 ms -0.66% (-2.72% to +0.18%)
 ↳ prove-recursion 265.77 ms 257.93 ms -2.97% (-3.15% to -2.52%)
 ↳ reduce-claims 5.16 ms 5.04 ms -1.97% (-6.44% to +4.72%)
 ↳ reduce-in-rows 2.83 ms 2.85 ms +1.01% (+0.12% to +2.13%)
 ↳ verify 11.98 ms 11.95 ms -0.20% (-0.45% to +0.54%)
aggregate-leanxmss-100-4to1-first 16 arm64 Neoverse-V2 198.21 ms 193.57 ms -3.08% (-9.34% to -1.13%)
 ↳ build-circuit 21.32 ms 21.43 ms -1.46% (-3.68% to +5.05%)
 ↳ prove-recursion 156.55 ms 151.04 ms -3.81% (-11.88% to -0.81%)
 ↳ reduce-claims 4.56 ms 4.57 ms +0.17% (-3.14% to +5.30%)
 ↳ reduce-in-rows 2.88 ms 2.87 ms -0.95% (-3.97% to +2.85%)
 ↳ verify 12.85 ms 13.05 ms -1.18% (-1.24% to +3.42%)
aggregate-leanxmss-100-4to1-first 1 x86-64 INTEL(R) XEON(R) GOLD 6548N 1.13 s 1.13 s +0.36% (-0.48% to +1.27%)
 ↳ build-circuit 31.09 ms 31.55 ms -0.61% (-0.85% to +5.49%)
 ↳ prove-recursion 1.06 s 1.06 s +0.39% (-0.48% to +1.08%)
 ↳ reduce-claims 25.99 ms 25.87 ms -0.52% (-0.76% to +1.60%)
 ↳ reduce-in-rows 3.92 ms 3.99 ms +1.44% (-2.79% to +7.05%)
 ↳ verify 12.62 ms 12.68 ms +0.23% (-0.62% to +16.85%)
aggregate-leanxmss-100-4to1-first 4 x86-64 INTEL(R) XEON(R) GOLD 6548N 347.06 ms 347.71 ms +0.02% (-0.61% to +0.71%)
 ↳ build-circuit 30.85 ms 30.58 ms -0.49% (-2.57% to +2.32%)
 ↳ prove-recursion 291.17 ms 291.11 ms -0.02% (-0.44% to +0.86%)
 ↳ reduce-claims 9.08 ms 9.37 ms -2.75% (-4.41% to +13.44%)
 ↳ reduce-in-rows 4.15 ms 4.16 ms +0.41% (-2.28% to +3.25%)
 ↳ verify 12.53 ms 12.48 ms -0.61% (-1.21% to +0.52%)
aggregate-leanxmss-100-4to1-first 8 x86-64 INTEL(R) XEON(R) GOLD 6548N 210.18 ms 210.73 ms +0.35% (-1.05% to +0.71%)
 ↳ build-circuit 27.67 ms 27.71 ms +0.29% (-2.47% to +3.60%)
 ↳ prove-recursion 159.53 ms 159.58 ms +0.50% (-1.54% to +1.11%)
 ↳ reduce-claims 7.27 ms 7.14 ms -1.75% (-6.97% to +9.43%)
 ↳ reduce-in-rows 3.85 ms 3.89 ms -0.90% (-2.17% to +2.75%)
 ↳ verify 12.12 ms 12.03 ms -0.50% (-3.21% to +1.34%)
aggregate-leanxmss-100-4to1-first 16 x86-64 INTEL(R) XEON(R) GOLD 6548N 166.65 ms 165.40 ms -1.15% (-2.67% to +2.73%)
 ↳ build-circuit 31.77 ms 32.31 ms +0.77% (-0.84% to +2.41%)
 ↳ prove-recursion 108.45 ms 106.37 ms -1.93% (-3.52% to +4.74%)
 ↳ reduce-claims 7.39 ms 7.65 ms +1.37% (-11.30% to +31.60%)
 ↳ reduce-in-rows 4.42 ms 4.37 ms -0.13% (-6.28% to +5.05%)
 ↳ verify 13.92 ms 13.88 ms +0.11% (-3.12% to +2.03%)
aggregate-leanxmss-100-4to1-node 1 arm64 Neoverse-V2 2.12 s 2.07 s -2.40% (-3.10% to -2.14%)
 ↳ build-circuit 29.34 ms 29.35 ms +0.17% (-5.06% to +2.09%)
 ↳ prove-recursion 2.01 s 1.96 s -2.54% (-3.27% to -2.28%)
 ↳ reduce-claims 55.99 ms 56.23 ms +0.26% (-0.26% to +0.78%)
 ↳ reduce-in-rows 3.03 ms 3.03 ms -1.16% (-1.62% to +2.08%)
aggregate-leanxmss-100-4to1-node 4 arm64 Neoverse-V2 582.28 ms 569.50 ms -2.56% (-3.42% to -2.01%)
 ↳ build-circuit 25.86 ms 25.72 ms -0.62% (-7.22% to +2.48%)
 ↳ prove-recursion 524.24 ms 511.10 ms -2.54% (-3.17% to -2.28%)
 ↳ reduce-claims 17.45 ms 17.31 ms -1.77% (-3.28% to -0.72%)
 ↳ reduce-in-rows 3.04 ms 3.01 ms -1.15% (-3.66% to +0.25%)
aggregate-leanxmss-100-4to1-node 8 arm64 Neoverse-V2 335.17 ms 326.75 ms -2.51% (-2.62% to -2.34%)
 ↳ build-circuit 24.84 ms 24.72 ms -0.47% (-1.48% to +1.64%)
 ↳ prove-recursion 284.54 ms 276.25 ms -2.87% (-3.23% to -2.65%)
 ↳ reduce-claims 12.12 ms 12.04 ms +0.01% (-4.09% to +3.01%)
 ↳ reduce-in-rows 3.01 ms 3.04 ms +0.73% (-0.77% to +3.39%)
aggregate-leanxmss-100-4to1-node 16 arm64 Neoverse-V2 217.46 ms 211.45 ms -3.83% (-4.91% to -1.47%)
 ↳ build-circuit 24.82 ms 25.08 ms -0.25% (-3.45% to +5.59%)
 ↳ prove-recursion 169.46 ms 161.74 ms -5.08% (-5.51% to -2.28%)
 ↳ reduce-claims 9.51 ms 9.73 ms +2.32% (-1.77% to +6.43%)
 ↳ reduce-in-rows 3.04 ms 3.04 ms +1.25% (-4.70% to +3.49%)
aggregate-leanxmss-100-4to1-node 1 x86-64 INTEL(R) XEON(R) GOLD 6548N 1.24 s 1.25 s +0.92% (-0.48% to +1.85%)
 ↳ build-circuit 37.95 ms 38.29 ms +0.88% (-3.98% to +6.94%)
 ↳ prove-recursion 1.12 s 1.13 s +0.94% (-0.29% to +1.56%)
 ↳ reduce-claims 64.71 ms 65.20 ms +0.13% (-4.02% to +8.66%)
 ↳ reduce-in-rows 4.04 ms 4.00 ms -0.29% (-4.21% to +4.55%)
aggregate-leanxmss-100-4to1-node 4 x86-64 INTEL(R) XEON(R) GOLD 6548N 381.06 ms 380.94 ms +0.30% (-0.46% to +1.24%)
 ↳ build-circuit 36.19 ms 36.99 ms +1.84% (-3.79% to +7.42%)
 ↳ prove-recursion 307.98 ms 307.51 ms +0.23% (-0.45% to +0.63%)
 ↳ reduce-claims 20.47 ms 20.33 ms -0.67% (-3.64% to +1.20%)
 ↳ reduce-in-rows 4.46 ms 4.47 ms -0.27% (-3.15% to +3.78%)
aggregate-leanxmss-100-4to1-node 8 x86-64 INTEL(R) XEON(R) GOLD 6548N 229.31 ms 227.16 ms -1.04% (-10.88% to +1.09%)
 ↳ build-circuit 32.63 ms 31.73 ms -0.11% (-34.79% to +2.15%)
 ↳ prove-recursion 167.42 ms 166.63 ms -0.74% (-2.91% to +1.11%)
 ↳ reduce-claims 14.03 ms 13.82 ms +0.09% (-9.28% to +3.09%)
 ↳ reduce-in-rows 4.15 ms 4.08 ms -0.77% (-19.98% to +1.39%)
aggregate-leanxmss-100-4to1-node 16 x86-64 INTEL(R) XEON(R) GOLD 6548N 174.17 ms 179.05 ms -1.19% (-6.34% to +4.35%)
 ↳ build-circuit 37.67 ms 37.88 ms -0.41% (-3.62% to +2.52%)
 ↳ prove-recursion 107.48 ms 113.72 ms -0.21% (-8.58% to +6.68%)
 ↳ reduce-claims 12.64 ms 12.93 ms +1.10% (-8.76% to +11.16%)
 ↳ reduce-in-rows 4.54 ms 4.60 ms +1.08% (-5.48% to +6.70%)
leanxmss-100 1 arm64 Neoverse-V2 1.85 s 1.81 s -2.01% (-2.30% to -1.91%)
 ↳ build-witness 46.38 ms 46.38 ms -0.40% (-0.81% to +0.69%)
 ↳ commit 295.19 ms 293.45 ms -0.54% (-1.47% to +0.13%)
 ↳ execute-program 10.66 ms 10.28 ms -3.89% (-5.14% to +2.93%)
 ↳ flock-reductions 650.98 ms 650.98 ms +0.07% (-0.18% to +0.59%)
 ↳ pcs-open 697.50 ms 660.04 ms -5.05% (-5.61% to -5.01%)
 ↳ prove-bus 131.80 ms 131.53 ms -0.01% (-0.46% to +0.60%)
 ↳ prove-constraints 14.30 ms 14.18 ms -0.84% (-1.83% to +2.11%)
leanxmss-100 4 arm64 Neoverse-V2 489.84 ms 480.11 ms -2.19% (-16.99% to -1.81%)
 ↳ build-witness 12.85 ms 12.85 ms -0.09% (-0.30% to +0.33%)
 ↳ commit 74.79 ms 74.33 ms -0.82% (-9.42% to +0.56%)
 ↳ execute-program 10.42 ms 10.28 ms +0.76% (-4.06% to +2.18%)
 ↳ flock-reductions 170.28 ms 170.29 ms -0.11% (-17.81% to +0.21%)
 ↳ pcs-open 180.68 ms 170.85 ms -5.48% (-18.83% to -4.83%)
 ↳ prove-bus 35.52 ms 35.48 ms +0.03% (-26.85% to +0.18%)
 ↳ prove-constraints 5.47 ms 5.46 ms -0.87% (-12.78% to +0.14%)
leanxmss-100 8 arm64 Neoverse-V2 273.70 ms 268.09 ms -2.06% (-2.14% to -1.98%)
 ↳ build-witness 7.32 ms 7.30 ms +0.18% (-0.61% to +0.85%)
 ↳ commit 38.39 ms 38.31 ms -0.18% (-0.84% to +0.17%)
 ↳ execute-program 10.29 ms 10.24 ms -0.16% (-4.55% to +1.07%)
 ↳ flock-reductions 94.34 ms 94.40 ms +0.06% (-0.33% to +0.32%)
 ↳ pcs-open 98.25 ms 92.76 ms -5.59% (-5.66% to -5.46%)
 ↳ prove-bus 20.59 ms 20.65 ms +0.22% (-0.38% to +0.35%)
 ↳ prove-constraints 4.16 ms 4.16 ms -0.83% (-0.95% to +2.04%)
leanxmss-100 16 arm64 Neoverse-V2 168.99 ms 165.31 ms -2.17% (-2.96% to -0.38%)
 ↳ build-witness 4.91 ms 4.94 ms +0.71% (-3.93% to +5.49%)
 ↳ commit 20.45 ms 20.60 ms -0.44% (-1.40% to +1.24%)
 ↳ execute-program 10.40 ms 10.42 ms +2.06% (-4.63% to +2.56%)
 ↳ flock-reductions 57.10 ms 57.29 ms -0.12% (-0.27% to +1.02%)
 ↳ pcs-open 58.34 ms 54.75 ms -6.63% (-8.23% to -3.92%)
 ↳ prove-bus 13.34 ms 13.48 ms +0.06% (-1.69% to +1.52%)
 ↳ prove-constraints 3.81 ms 3.85 ms -0.13% (-2.57% to +3.25%)
leanxmss-100 1 x86-64 INTEL(R) XEON(R) GOLD 6548N 928.30 ms 951.94 ms +1.53% (-5.43% to +3.55%)
 ↳ build-witness 64.70 ms 62.71 ms -2.36% (-4.07% to +2.08%)
 ↳ commit 166.81 ms 170.68 ms -2.93% (-9.23% to +9.29%)
 ↳ execute-program 11.31 ms 11.16 ms -1.23% (-4.53% to +1.85%)
 ↳ flock-reductions 272.30 ms 278.77 ms +2.80% (-7.49% to +5.01%)
 ↳ pcs-open 324.84 ms 321.36 ms +1.18% (-1.70% to +4.43%)
 ↳ prove-bus 73.63 ms 72.99 ms +0.02% (-7.70% to +6.82%)
 ↳ prove-constraints 17.16 ms 16.60 ms -3.81% (-8.98% to +12.72%)
leanxmss-100 4 x86-64 INTEL(R) XEON(R) GOLD 6548N 282.66 ms 287.57 ms +0.03% (-2.17% to +2.59%)
 ↳ build-witness 18.30 ms 18.39 ms +0.30% (-1.97% to +6.48%)
 ↳ commit 43.22 ms 44.31 ms +2.52% (-4.47% to +14.83%)
 ↳ execute-program 11.60 ms 11.88 ms +2.40% (-2.89% to +19.62%)
 ↳ flock-reductions 82.09 ms 80.98 ms -2.60% (-2.97% to +0.90%)
 ↳ pcs-open 99.25 ms 98.45 ms +0.35% (-4.85% to +3.30%)
 ↳ prove-bus 23.10 ms 23.12 ms +1.48% (-6.50% to +8.62%)
 ↳ prove-constraints 7.12 ms 7.12 ms +0.33% (-6.03% to +6.55%)
leanxmss-100 8 x86-64 INTEL(R) XEON(R) GOLD 6548N 178.57 ms 178.32 ms -0.07% (-4.07% to +0.35%)
 ↳ build-witness 10.92 ms 10.88 ms -0.61% (-8.18% to +1.09%)
 ↳ commit 23.93 ms 23.95 ms -0.51% (-10.53% to +1.30%)
 ↳ execute-program 12.50 ms 12.37 ms -0.72% (-1.98% to +0.29%)
 ↳ flock-reductions 50.46 ms 50.43 ms +0.12% (-1.39% to +0.64%)
 ↳ pcs-open 60.61 ms 60.58 ms +0.32% (-2.28% to +1.04%)
 ↳ prove-bus 14.80 ms 14.87 ms -0.07% (-10.00% to +1.19%)
 ↳ prove-constraints 5.24 ms 5.23 ms -0.28% (-4.95% to +0.53%)
leanxmss-100 16 x86-64 INTEL(R) XEON(R) GOLD 6548N 137.37 ms 137.76 ms +0.58% (-5.41% to +7.36%)
 ↳ build-witness 8.60 ms 8.60 ms +0.51% (-1.54% to +1.35%)
 ↳ commit 15.03 ms 14.18 ms -5.23% (-12.32% to +10.32%)
 ↳ execute-program 12.42 ms 12.38 ms -0.94% (-6.58% to +2.08%)
 ↳ flock-reductions 41.39 ms 41.01 ms +3.39% (-7.34% to +11.37%)
 ↳ pcs-open 42.97 ms 44.63 ms +5.21% (-6.80% to +13.71%)
 ↳ prove-bus 11.94 ms 11.71 ms -3.43% (-7.31% to +5.01%)
 ↳ prove-constraints 5.11 ms 5.12 ms +0.55% (-1.93% to +2.98%)

@kevaundray
kevaundray marked this pull request as ready for review October 8, 2026 12:02

@tcoratger tcoratger left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We need to solve the conflicts and merge this one I think, very small changes and perf gains :)

Rebase the final production change from PR leanEthereum#556 onto riscv-exploration. Preserve the closed-form lane fold and current module layout; apply longer ARM fill windows and initialize scratch directly on the heap.

Original commits by Kev Au. Squash the experiment scaffolding and its removal into the final production diff.
@tcoratger
tcoratger merged commit 3caf021 into leanEthereum:riscv-exploration Oct 10, 2026
56 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