Skip to content

Fuse the ARM PMULL dense-grid extension and products - #561

Merged
tcoratger merged 5 commits into
leanEthereum:riscv-explorationfrom
kevaundray:kw/arm-grid-kernels
Oct 8, 2026
Merged

tcoratger merged 5 commits into
leanEthereum:riscv-explorationfrom
kevaundray:kw/arm-grid-kernels

Conversation

@kevaundray

@kevaundray kevaundray commented Oct 8, 2026 •

Copy link
Copy Markdown
Collaborator

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

Summary

Fuse the final ternary-grid extension digit with the mixed products on AArch64 PMULL, retaining the three unreduced F192 coefficient accumulators for each of the three generated points in registers across the eight offsets. Store the accumulated coefficients in the existing ProductRow representation. Earlier extension digits, packing, reduction, chunk scheduling, weight filling and scratch layouts stay unchanged. The R0 and non-PMULL paths retain their original implementation and captured loop bound.

This is a prover kernel change only. It does not change the protocol, transcript, guest, proof format or public API. The arithmetic/layout regression test checks all ternary-grid values against an independent bit-serial field definition across rounds, block sizes, partial groups and padded tails. Existing module documentation explains the fused path.

Hardware evidence

Baseline: f52bd991c8623894e7b03a2e50bede6c248ea1ad, including #549 and #550, excluding #552 and guest rewrites. Final source: 299bcef05c0ca716bdfecd086ebdecb6484f76b2.

Actual Neoverse V2 and Xeon measurements used rustc 1.99.0 (b940084d7), -C target-cpu=native, thin LTO and one codegen unit. Each comparison used five alternating paired runs on the same machine, at 1, 4, 8 and default workers. Default means 16 workers on V2 and 32 on Xeon. Runs were serialized under the benchmark lock and load-checked. No hardware performance counters were available. Component timings are not added together.

The screening run compared baseline, final-digit fusion alone and fusion with register-resident accumulators. Register-resident accumulation was selected. Fusion alone improved the V2 dense pass by about 9%, versus about 20% for the selected variant. The missing-shapes confirmation measured the selected clean implementation at 2872ebe0b0ae403213082c4e9f8fe72cff002266, adding leaf rate 2, first and higher aggregation nodes at both rates, and the captured seven-lane R3 tail.

V2 paired median changes in reported whole-proof latency, with negative values meaning faster:

Workload 1 worker 4 workers 8 workers Default
Leaf, log inverse rate 1 -1.08% -1.34% -0.97% -0.99%
Leaf, log inverse rate 2 -0.72% -0.65% -0.76% -0.81%
First aggregation, rate 1 -1.21% -1.02% -1.04% -0.99%
Higher aggregation, rate 1 -1.07% -0.90% -1.01% -0.60%
First aggregation, rate 2 -0.77% -0.71% -0.77% -0.68%
Higher aggregation, rate 2 -0.83% -0.74% -0.76% -0.60%

Every V2 scenario median improved. All 20 leaf-rate-1 pairs improved; 97 of 100 pairs in the missing-shapes matrix improved. Three individual default-worker observations were slower, so this is not a claim that every observation improves.

The actual captured V2 dense pass changed from 90.893/22.946/12.530/7.096 ms to 72.764/18.466/10.007/5.625 ms at 1/4/8/default workers. Paired median changes were -19.97%/-19.63%/-20.03%/-20.73%. The captured seven-lane R3 tail improved by 21.45% to 22.40%. The leaf-rate-1 Basis span improved by 5.13% to 5.80%. These are separate measurements, not additive contributions to whole-proof latency.

Xeon guard and final source relationship

The first clean candidate unnecessarily routed the non-PMULL implementation through a generic wrapper. Although its arithmetic was unchanged, that altered native loop code generation and three higher-node rows were consistently slower: rate 1 at one worker +0.488%, rate 2 at one worker +0.326%, and rate 1 at eight workers +0.299%, each with all five pairs slower. The final commit restores the original inline non-PMULL loop and captured point bound, rather than shipping this avoidable x86 code change.

The targeted final-head Xeon control repeated exactly those three rows:

Higher-node case Baseline median Final median Paired median change Individual paired range
Rate 1, 1 worker 652.603 ms 648.782 ms -0.422% -0.803% to +0.137%
Rate 2, 1 worker 715.539 ms 710.161 ms -0.695% -2.069% to +0.449%
Rate 1, 8 workers 126.486 ms 127.385 ms +0.519% -1.904% to +5.647%

The eight-worker control still has a positive median and four of five pairs slower. This is disclosed rather than claiming universal runtime neutrality or assigning a cause. All 5,473,448 disassembled executable bytes and instruction addresses matched baseline exactly in the final native Xeon artifacts, including all R0 through R4 grid closures. This is not a claim that entire ELF files, data or runtime environments are identical.

The final non-PMULL isolation does not change the selected ARM arithmetic. The complete R3 and R4 instantiated ARM closures have identical normalized instruction sequences before and after isolation, after ignoring relocation-dependent target addresses: 1,312 and 1,438 instructions respectively. This is emitted-code provenance supporting reuse of the V2 measurements, not a new hardware timing result.

Normal PR benchmark confirmation on the final head

The completed normal PR Bench matrix tested final head 299bcef05c0ca716bdfecd086ebdecb6484f76b2 through merge 78e2ea0cfc29cd99d9adb995fffebb0ea32518ca against the same baseline. All 46 native jobs passed, producing 90 result cases with five alternating pairs each. These are the standard workflow measurements, separate from the custom load-checked capture experiments above. The complete 90-case table retains baseline/head medians and sample ranges, paired-percent medians and ranges, and slower-pair counts for every full-proof and microbenchmark case.

Final-head V2 whole-proof paired medians in the normal workflow:

Workload 1 worker 4 workers 8 workers Default
Leaf -1.224% -0.826% -1.073% -0.980%
2-to-1 first aggregation -0.919% -1.091% -1.170% -1.233%
2-to-1 higher aggregation -0.836% -0.690% -1.035% -1.087%
4-to-1 first aggregation -1.117% -1.138% -1.199% -0.765%
4-to-1 higher aggregation -1.137% -0.603% -1.165% -1.021%

V2 improved 25 of 26 full-proof scenario medians and 108 of 130 individual pairs. The exception is falcon-7: +0.214% paired median, range -1.388% to +0.582%, with four of five pairs slower. Other default-worker proof medians were fibonacci -1.246%, hash -1.118%, leansphincs -0.924%, shielded -0.768% and stateproof -1.045%. The normal pcs-open-22 microbenchmark improved by -3.907%, range -6.003% to -1.484%, with all five pairs faster. Primitive arithmetic microbenchmarks include both signs; their full results are retained, without attributing unrelated primitive timings to this kernel change.

Xeon improved 18 of 26 full-proof scenario medians; its median changes range from -2.252% to +0.569%. Retained positive medians include the eight-worker leaf +0.569% [-1.333%, +1.114%], default higher 4-to-1 aggregation +0.499% [-2.783%, +1.155%], and shielded +0.406% [-0.221%, +3.348%]. No universal x86 runtime neutrality is claimed. The earlier executable-byte equality receipt belongs to the targeted control, not these normal PR timing artifacts.

In this additional matrix, V2 median tracked heap differences ranged from -73,488 to +68,096 bytes and allocation differences from -2 to +2; Xeon ranges were -42,720 to +231,424 bytes and -3 to +1 allocations. RSS median differences ranged from approximately -15.58 to +7.76 MiB on V2 and -10.96 to +2.46 MiB on Xeon. These are observations, not claimed allocation savings.

Memory and instruction traffic

Scratch remains 119,040 bytes and the separate accumulator remains 15,552 bytes per state. No new allocation or copy is introduced. Across the V2 whole-proof rows, median tracked heap differences were between -106,440 and +78,264 bytes, allocation-count differences between zero and six, and RSS differences between about -1.95 and +8.41 MiB. One-worker tracked heap values were unchanged. These small multiworker tracking/lifetime variations are retained rather than presented as a memory saving.

The selected R4 product loop has no stack accesses. Its carryless-product count is unchanged. Static logical extension/product traffic per eight-offset R4 row falls from 101,760 to 50,784 bytes; this excludes packing, setup, reduction, cache effects and earlier-extension spills, and is not a counter measurement. Earlier R4 extension spills remain 272 bytes stored and reloaded. R3 introduces 384 bytes stored and reloaded in the earlier extension, despite its measured tail improvement. No SVE or generic SIMD throughput claim is made.

Correctness and validation

The retained capture harness compared literal proof bytes, not just digests: 120 leaf-rate-1 proof files in screening, 560 leaf/first-node/higher-node proof files in the missing-shapes matrix, and 90 additional final-head Xeon control files. For each matching input/rate/node, bytes agree across baseline/candidate, worker counts and architectures; the final control also matches the earlier captures. Every measured production proof path completed verification. The source tree contains no profiling switches, proof-dump hooks or diagnostic workflow changes.

Validation includes native focused first-pass tests, an actual final-head first/higher aggregation proof-and-verify smoke, PMULL QEMU correctness on Rust 1.97 and 1.99 for the selected implementation, and final-head portable ARM fallback tests on both Rust versions. QEMU results are correctness and emitted-code checks, never performance measurements. The exact final-head CI run passed all 13 jobs, including release workspace tests, executed NEON and VPCLMUL kernel tests, formatting, clippy, rustdoc, MSRV, Miri and dependency checks. The GFNI job compiled and linted successfully but skipped execution because its runner lacked GFNI.

The optimization is independent of outer weight-fill/chunk scheduling. Combining it with another optimization requires a new measurement; no combined speedup is claimed.

The normal PR checks also passed: Rust, RISC-V ACT4, Counts and Python verifier lint/types. Both exact-head Rust runs executed NEON and VPCLMUL tests but skipped the dedicated AVX2+GFNI runtime tests because those runners lacked GFNI. Separately, native Xeon production proof-and-verify runs executed successfully with GFNI enabled in the captured native target configuration; that is not a claim that the skipped dedicated AVX2+GFNI suite ran.

@github-actions

github-actions Bot commented Oct 8, 2026

Copy link
Copy Markdown

Benchmarks: base against this PR, on one runner

299bcef merged into its base, against the base f52bd99: 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-8thread-first arm64 167.53 ms 165.95 ms -1.17% (-1.49% to -0.83%)
aggregate-leanxmss-100-2to1-8thread-node arm64 176.37 ms 174.42 ms -1.04% (-2.48% to -0.95%)
aggregate-leanxmss-100-4to1-4thread-first arm64 555.46 ms 553.13 ms -1.14% (-2.81% to -0.34%)
aggregate-leanxmss-100-4to1-8thread-first arm64 319.26 ms 315.43 ms -1.20% (-1.32% to -0.93%)
aggregate-leanxmss-100-4to1-8thread-node arm64 346.69 ms 341.21 ms -1.17% (-2.28% to -0.93%)
fibonacci-asm-2000000 arm64 888.89 ms 875.85 ms -1.25% (-1.80% to -0.54%)
flock-hash-batch-262144 arm64 848.45 ms 835.86 ms -1.25% (-2.05% to -1.04%)
flock-mul-wrapping-batch-262144 arm64 205.06 ms 202.28 ms -1.37% (-2.41% to -0.95%)
hash-50000 arm64 549.88 ms 544.51 ms -1.12% (-1.21% to -0.19%)
leanxmss-100-1thread arm64 1.93 s 1.92 s -1.22% (-6.16% to -0.32%)
leanxmss-100-8thread arm64 288.45 ms 285.50 ms -1.07% (-1.31% to -0.81%)
pcs-open-22 arm64 16.41 ms 15.81 ms -3.91% (-6.00% to -1.48%)
stateproof-5 arm64 1.25 s 1.23 s -1.05% (-2.72% to -0.90%)
Prover stages
benchmark runner base this PR change
aggregate-leanxmss-100-2to1-8thread-first arm64 167.53 ms 165.95 ms -1.17% (-1.49% to -0.83%)
 ↳ build-circuit 10.71 ms 10.69 ms -0.21% (-1.07% to +2.30%)
 ↳ prove-recursion 144.06 ms 142.49 ms -1.29% (-1.74% to -0.92%)
 ↳ reduce-claims 4.18 ms 4.17 ms -0.02% (-3.90% to +2.01%)
 ↳ reduce-in-rows 1.45 ms 1.47 ms +1.78% (-1.49% to +7.35%)
 ↳ verify 7.02 ms 7.03 ms -0.09% (-1.35% to +0.98%)
aggregate-leanxmss-100-2to1-8thread-node arm64 176.37 ms 174.42 ms -1.04% (-2.48% to -0.95%)
 ↳ build-circuit 11.61 ms 11.50 ms -0.96% (-4.10% to +0.17%)
 ↳ prove-recursion 149.40 ms 147.33 ms -1.20% (-2.86% to -0.97%)
 ↳ reduce-claims 7.81 ms 7.78 ms -0.68% (-2.33% to +0.64%)
 ↳ reduce-in-rows 1.48 ms 1.47 ms -0.92% (-3.08% to +3.36%)
aggregate-leanxmss-100-2to1-first arm64 107.75 ms 106.96 ms -1.23% (-5.81% to +1.07%)
 ↳ build-circuit 10.23 ms 10.21 ms -0.21% (-1.35% to +1.34%)
 ↳ prove-recursion 85.09 ms 84.31 ms -1.20% (-7.17% to +1.37%)
 ↳ reduce-claims 3.76 ms 3.70 ms -1.54% (-1.79% to +3.64%)
 ↳ reduce-in-rows 1.39 ms 1.36 ms -4.00% (-4.37% to -1.89%)
 ↳ verify 7.27 ms 7.25 ms +0.05% (-0.56% to +0.22%)
aggregate-leanxmss-100-2to1-first x86-64 83.46 ms 84.51 ms +0.32% (-1.64% to +2.74%)
 ↳ build-circuit 13.51 ms 14.49 ms +6.84% (+0.20% to +9.49%)
 ↳ prove-recursion 52.26 ms 52.46 ms +0.39% (-1.19% to +1.99%)
 ↳ reduce-claims 7.11 ms 6.28 ms -5.89% (-30.96% to +31.25%)
 ↳ reduce-in-rows 1.74 ms 1.79 ms +2.66% (-0.25% to +9.10%)
 ↳ verify 8.69 ms 8.64 ms -0.27% (-1.55% to +1.12%)
aggregate-leanxmss-100-4to1-4thread-first arm64 555.46 ms 553.13 ms -1.14% (-2.81% to -0.34%)
 ↳ build-circuit 22.25 ms 22.51 ms +1.44% (-0.57% to +2.78%)
 ↳ prove-recursion 510.11 ms 506.93 ms -1.32% (-3.24% to -0.42%)
 ↳ reduce-claims 6.91 ms 6.91 ms +0.53% (-0.79% to +1.88%)
 ↳ reduce-in-rows 2.78 ms 2.81 ms +1.00% (-2.16% to +2.59%)
 ↳ verify 13.62 ms 13.77 ms +1.23% (-1.64% to +2.01%)
aggregate-leanxmss-100-4to1-8thread-first arm64 319.26 ms 315.43 ms -1.20% (-1.32% to -0.93%)
 ↳ build-circuit 21.03 ms 20.82 ms -1.20% (-4.26% to +0.71%)
 ↳ prove-recursion 276.45 ms 272.90 ms -1.28% (-1.42% to -0.98%)
 ↳ reduce-claims 5.14 ms 5.37 ms +4.15% (-1.21% to +5.41%)
 ↳ reduce-in-rows 2.76 ms 2.69 ms -2.21% (-4.45% to +0.41%)
 ↳ verify 13.64 ms 13.61 ms -0.05% (-1.13% to +0.35%)
aggregate-leanxmss-100-4to1-8thread-node arm64 346.69 ms 341.21 ms -1.17% (-2.28% to -0.93%)
 ↳ build-circuit 25.07 ms 24.40 ms -0.85% (-4.63% to -0.24%)
 ↳ prove-recursion 293.44 ms 289.24 ms -1.21% (-2.10% to -0.92%)
 ↳ reduce-claims 11.88 ms 11.84 ms -0.12% (-0.78% to +1.37%)
 ↳ reduce-in-rows 2.92 ms 2.86 ms -1.19% (-3.58% to +1.97%)
falcon-7 x86-64 336.19 ms 331.62 ms +0.07% (-3.24% to +0.33%)
 ↳ build-witness 22.67 ms 22.39 ms -1.58% (-29.16% to +6.71%)
 ↳ commit 44.30 ms 44.13 ms -0.68% (-3.73% to +0.94%)
 ↳ execute-program 43.71 ms 43.68 ms -1.78% (-5.84% to +8.75%)
 ↳ flock-reductions 86.07 ms 85.00 ms +0.24% (-2.46% to +0.27%)
 ↳ pcs-open 101.25 ms 101.01 ms -0.19% (-1.23% to +0.52%)
 ↳ prove-bus 26.21 ms 25.74 ms -1.77% (-3.26% to -0.13%)
 ↳ prove-constraints 9.26 ms 9.20 ms -1.15% (-1.90% to +3.27%)
fibonacci-asm-2000000 arm64 888.89 ms 875.85 ms -1.25% (-1.80% to -0.54%)
 ↳ build-witness 36.40 ms 36.10 ms +0.20% (-1.29% to +0.62%)
 ↳ commit 128.55 ms 129.70 ms +0.54% (-0.47% to +1.39%)
 ↳ execute-program 65.39 ms 64.10 ms -0.97% (-4.37% to +0.63%)
 ↳ flock-reductions 309.76 ms 309.42 ms -0.07% (-2.12% to +0.11%)
 ↳ pcs-open 281.89 ms 272.91 ms -3.43% (-4.11% to -1.13%)
 ↳ prove-bus 53.41 ms 53.63 ms -0.29% (-2.68% to +1.99%)
 ↳ prove-constraints 10.85 ms 10.79 ms +0.12% (-0.91% to +0.85%)
hash-50000 arm64 549.88 ms 544.51 ms -1.12% (-1.21% to -0.19%)
 ↳ build-witness 24.63 ms 24.53 ms -0.40% (-1.00% to +0.19%)
 ↳ commit 84.03 ms 83.87 ms -0.22% (-0.52% to -0.06%)
 ↳ execute-program 23.42 ms 23.36 ms -0.33% (-1.90% to +0.71%)
 ↳ flock-reductions 176.29 ms 176.45 ms -0.10% (-0.52% to +0.29%)
 ↳ pcs-open 206.23 ms 201.09 ms -2.74% (-3.14% to -0.50%)
 ↳ prove-bus 28.01 ms 27.92 ms +0.38% (-0.47% to +1.48%)
 ↳ prove-constraints 7.24 ms 7.32 ms -0.03% (-0.14% to +2.11%)
leansphincs-26 arm64 194.26 ms 192.77 ms -0.92% (-1.42% to +0.28%)
 ↳ build-witness 7.12 ms 7.06 ms -0.93% (-3.70% to +3.80%)
 ↳ commit 24.08 ms 24.10 ms +0.10% (-0.07% to +1.30%)
 ↳ execute-program 11.62 ms 11.92 ms +2.54% (-2.14% to +4.68%)
 ↳ flock-reductions 65.82 ms 65.73 ms -0.02% (-1.44% to +1.10%)
 ↳ pcs-open 66.45 ms 64.80 ms -2.33% (-4.09% to -0.54%)
 ↳ prove-bus 14.32 ms 14.25 ms -0.33% (-1.71% to +1.23%)
 ↳ prove-constraints 4.28 ms 4.16 ms -2.31% (-3.68% to +0.55%)
leansphincs-26 x86-64 126.73 ms 126.57 ms -0.12% (-1.77% to +0.69%)
 ↳ build-witness 8.74 ms 8.76 ms -0.27% (-0.40% to +2.23%)
 ↳ commit 12.81 ms 12.86 ms +0.39% (-0.70% to +1.35%)
 ↳ execute-program 14.41 ms 14.28 ms -1.58% (-7.52% to -0.55%)
 ↳ flock-reductions 38.29 ms 38.31 ms +0.38% (-1.87% to +0.66%)
 ↳ pcs-open 34.15 ms 34.18 ms +0.38% (-0.97% to +1.32%)
 ↳ prove-bus 12.52 ms 12.52 ms +0.76% (-2.74% to +3.31%)
 ↳ prove-constraints 5.48 ms 5.41 ms -0.87% (-2.29% to -0.15%)
leanxmss-100-1thread arm64 1.93 s 1.92 s -1.22% (-6.16% to -0.32%)
 ↳ build-witness 65.75 ms 65.76 ms -1.18% (-15.30% to +0.93%)
 ↳ commit 302.98 ms 303.81 ms +0.27% (-6.08% to +0.88%)
 ↳ execute-program 10.20 ms 10.25 ms +0.22% (-12.39% to +1.19%)
 ↳ flock-reductions 698.92 ms 696.93 ms -0.67% (-2.78% to +0.42%)
 ↳ pcs-open 725.88 ms 706.96 ms -2.39% (-6.67% to -1.69%)
 ↳ prove-bus 117.57 ms 118.02 ms +0.19% (-15.32% to +0.73%)
 ↳ prove-constraints 14.44 ms 14.74 ms -0.40% (-20.38% to +3.94%)
leanxmss-100-4thread x86-64 290.78 ms 290.32 ms -0.16% (-0.63% to +0.19%)
 ↳ build-witness 20.90 ms 20.84 ms -0.17% (-0.96% to +0.51%)
 ↳ commit 46.13 ms 46.05 ms +0.10% (-0.55% to +0.73%)
 ↳ execute-program 13.05 ms 12.84 ms -1.24% (-2.73% to -0.37%)
 ↳ flock-reductions 84.75 ms 84.68 ms +0.03% (-0.71% to +0.19%)
 ↳ pcs-open 92.54 ms 92.59 ms -0.31% (-0.51% to +0.76%)
 ↳ prove-bus 26.00 ms 25.83 ms -1.32% (-1.57% to +1.88%)
 ↳ prove-constraints 7.21 ms 7.19 ms -0.67% (-1.30% to +0.33%)
leanxmss-100-8thread arm64 288.45 ms 285.50 ms -1.07% (-1.31% to -0.81%)
 ↳ build-witness 9.91 ms 9.89 ms -0.44% (-0.80% to +0.54%)
 ↳ commit 39.35 ms 39.24 ms -0.05% (-0.83% to +0.37%)
 ↳ execute-program 10.23 ms 10.19 ms -0.25% (-2.22% to +0.44%)
 ↳ flock-reductions 101.98 ms 101.93 ms -0.22% (-0.38% to +0.21%)
 ↳ pcs-open 103.33 ms 100.71 ms -2.65% (-3.04% to -2.07%)
 ↳ prove-bus 19.29 ms 19.23 ms -0.30% (-0.73% to +0.49%)
 ↳ prove-constraints 4.28 ms 4.27 ms -0.34% (-1.28% to +0.54%)
shielded-258 arm64 791.13 ms 785.77 ms -0.77% (-1.43% to +0.45%)
 ↳ build-witness 31.77 ms 32.31 ms +1.68% (+0.25% to +14.52%)
 ↳ commit 116.69 ms 117.06 ms +0.34% (-0.37% to +0.57%)
 ↳ execute-program 58.41 ms 58.52 ms +0.32% (+0.04% to +14.34%)
 ↳ flock-reductions 251.51 ms 251.59 ms +0.15% (-3.61% to +4.26%)
 ↳ pcs-open 267.41 ms 259.32 ms -3.03% (-3.27% to -1.74%)
 ↳ prove-bus 55.00 ms 55.28 ms -0.09% (-19.38% to +0.99%)
 ↳ prove-constraints 10.13 ms 10.30 ms +1.24% (-2.26% to +4.26%)
stateproof-5 arm64 1.25 s 1.23 s -1.05% (-2.72% to -0.90%)
 ↳ build-witness 50.78 ms 50.74 ms -0.07% (-2.56% to +0.84%)
 ↳ commit 191.30 ms 191.06 ms -0.29% (-0.51% to +0.31%)
 ↳ execute-program 73.08 ms 73.43 ms +0.51% (-0.49% to +1.16%)
 ↳ flock-reductions 383.02 ms 383.33 ms +0.08% (-4.54% to +0.42%)
 ↳ pcs-open 450.60 ms 435.79 ms -3.30% (-3.34% to -2.32%)
 ↳ prove-bus 82.01 ms 82.19 ms +0.03% (-0.30% to +1.05%)
 ↳ prove-constraints 15.30 ms 15.25 ms -0.22% (-3.10% to +1.26%)
stateproof-5 x86-64 711.17 ms 708.06 ms -0.29% (-0.54% to +0.63%)
 ↳ build-witness 51.75 ms 52.35 ms +0.76% (-0.25% to +2.34%)
 ↳ commit 98.16 ms 98.82 ms +0.78% (-1.07% to +0.96%)
 ↳ execute-program 97.23 ms 98.18 ms +0.97% (-0.39% to +3.62%)
 ↳ flock-reductions 169.89 ms 169.18 ms -0.42% (-3.13% to +0.51%)
 ↳ pcs-open 216.98 ms 216.84 ms +0.35% (-3.50% to +0.72%)
 ↳ prove-bus 54.19 ms 54.59 ms +1.07% (-1.34% to +2.75%)
 ↳ prove-constraints 17.18 ms 17.54 ms +2.01% (+0.37% to +3.38%)

Verifying time

benchmark runner base this PR change
aggregate-leanxmss-100-2to1-4thread-node x86-64 4.49 ms 4.39 ms -1.99% (-3.95% to -0.87%)
aggregate-leanxmss-100-4to1-4thread-first x86-64 4.54 ms 4.41 ms -2.61% (-5.46% to -1.21%)
Every result

Proving time

benchmark runner CPU base this PR change
aggregate-leanxmss-100-2to1-1thread-first arm64 Neoverse-V2 1.02 s 1.01 s -0.92% (-1.10% to +0.75%)
aggregate-leanxmss-100-2to1-1thread-first x86-64 INTEL(R) XEON(R) GOLD 6548N 564.36 ms 558.10 ms -0.49% (-4.44% to +2.59%)
aggregate-leanxmss-100-2to1-1thread-node arm64 Neoverse-V2 1.07 s 1.06 s -0.84% (-1.74% to +0.59%)
aggregate-leanxmss-100-2to1-1thread-node x86-64 INTEL(R) XEON(R) GOLD 6548N 592.67 ms 589.05 ms -0.71% (-1.95% to +0.03%)
aggregate-leanxmss-100-2to1-4thread-first arm64 Neoverse-V2 281.09 ms 278.20 ms -1.09% (-2.62% to +3.91%)
aggregate-leanxmss-100-2to1-4thread-first x86-64 INTEL(R) XEON(R) GOLD 6548N 187.61 ms 189.04 ms +0.01% (-0.94% to +4.63%)
aggregate-leanxmss-100-2to1-4thread-node arm64 Neoverse-V2 293.99 ms 291.89 ms -0.69% (-4.20% to +4.69%)
aggregate-leanxmss-100-2to1-4thread-node x86-64 INTEL(R) XEON(R) GOLD 6548N 198.31 ms 196.09 ms -0.59% (-1.46% to +9.36%)
aggregate-leanxmss-100-2to1-8thread-first arm64 Neoverse-V2 167.53 ms 165.95 ms -1.17% (-1.49% to -0.83%)
aggregate-leanxmss-100-2to1-8thread-first x86-64 INTEL(R) XEON(R) GOLD 6548N 124.53 ms 123.54 ms -1.05% (-7.30% to +1.13%)
aggregate-leanxmss-100-2to1-8thread-node arm64 Neoverse-V2 176.37 ms 174.42 ms -1.04% (-2.48% to -0.95%)
aggregate-leanxmss-100-2to1-8thread-node x86-64 INTEL(R) XEON(R) GOLD 6548N 131.80 ms 128.31 ms -0.49% (-7.20% to +8.02%)
aggregate-leanxmss-100-2to1-first arm64 Neoverse-V2 107.75 ms 106.96 ms -1.23% (-5.81% to +1.07%)
aggregate-leanxmss-100-2to1-first x86-64 INTEL(R) XEON(R) GOLD 6548N 83.46 ms 84.51 ms +0.32% (-1.64% to +2.74%)
aggregate-leanxmss-100-2to1-node arm64 Neoverse-V2 112.67 ms 111.48 ms -1.09% (-2.42% to +2.84%)
aggregate-leanxmss-100-2to1-node x86-64 INTEL(R) XEON(R) GOLD 6548N 87.40 ms 86.31 ms -2.25% (-2.69% to +1.63%)
aggregate-leanxmss-100-4to1-1thread-first arm64 Neoverse-V2 2.01 s 1.98 s -1.12% (-8.82% to +0.70%)
aggregate-leanxmss-100-4to1-1thread-first x86-64 INTEL(R) XEON(R) GOLD 6548N 1.18 s 1.17 s -0.15% (-0.64% to +0.15%)
aggregate-leanxmss-100-4to1-1thread-node arm64 Neoverse-V2 2.19 s 2.16 s -1.14% (-10.65% to +0.22%)
aggregate-leanxmss-100-4to1-1thread-node x86-64 INTEL(R) XEON(R) GOLD 6548N 1.28 s 1.28 s -0.32% (-0.54% to +0.26%)
aggregate-leanxmss-100-4to1-4thread-first arm64 Neoverse-V2 555.46 ms 553.13 ms -1.14% (-2.81% to -0.34%)
aggregate-leanxmss-100-4to1-4thread-first x86-64 INTEL(R) XEON(R) GOLD 6548N 365.82 ms 363.95 ms -0.62% (-1.09% to +0.09%)
aggregate-leanxmss-100-4to1-4thread-node arm64 Neoverse-V2 604.64 ms 608.59 ms -0.60% (-2.74% to +1.67%)
aggregate-leanxmss-100-4to1-4thread-node x86-64 INTEL(R) XEON(R) GOLD 6548N 398.47 ms 394.92 ms -0.97% (-1.35% to +2.14%)
aggregate-leanxmss-100-4to1-8thread-first arm64 Neoverse-V2 319.26 ms 315.43 ms -1.20% (-1.32% to -0.93%)
aggregate-leanxmss-100-4to1-8thread-first x86-64 INTEL(R) XEON(R) GOLD 6548N 224.04 ms 223.36 ms -0.21% (-2.34% to +0.71%)
aggregate-leanxmss-100-4to1-8thread-node arm64 Neoverse-V2 346.69 ms 341.21 ms -1.17% (-2.28% to -0.93%)
aggregate-leanxmss-100-4to1-8thread-node x86-64 INTEL(R) XEON(R) GOLD 6548N 240.26 ms 241.38 ms -0.02% (-3.24% to +1.06%)
aggregate-leanxmss-100-4to1-first arm64 Neoverse-V2 203.97 ms 202.24 ms -0.77% (-2.31% to +0.59%)
aggregate-leanxmss-100-4to1-first x86-64 INTEL(R) XEON(R) GOLD 6548N 156.66 ms 156.83 ms -0.03% (-1.21% to +0.46%)
aggregate-leanxmss-100-4to1-node arm64 Neoverse-V2 222.07 ms 220.79 ms -1.02% (-1.52% to +1.52%)
aggregate-leanxmss-100-4to1-node x86-64 INTEL(R) XEON(R) GOLD 6548N 165.29 ms 166.07 ms +0.50% (-2.78% to +1.16%)
falcon-7 arm64 Neoverse-V2 579.53 ms 580.29 ms +0.21% (-1.39% to +0.58%)
falcon-7 x86-64 INTEL(R) XEON(R) GOLD 6548N 336.19 ms 331.62 ms +0.07% (-3.24% to +0.33%)
fibonacci-asm-2000000 arm64 Neoverse-V2 888.89 ms 875.85 ms -1.25% (-1.80% to -0.54%)
fibonacci-asm-2000000 x86-64 INTEL(R) XEON(R) GOLD 6548N 476.14 ms 473.95 ms -0.55% (-3.03% to +0.30%)
flock-add-wrapping-batch-262144 arm64 Neoverse-V2 16.20 ms 16.03 ms -2.28% (-18.28% to +1.76%)
flock-add-wrapping-batch-262144 x86-64 INTEL(R) XEON(R) GOLD 6548N 8.32 ms 8.29 ms +0.72% (-1.24% to +11.59%)
flock-hash-batch-262144 arm64 Neoverse-V2 848.45 ms 835.86 ms -1.25% (-2.05% to -1.04%)
flock-hash-batch-262144 x86-64 INTEL(R) XEON(R) GOLD 6548N 361.54 ms 360.80 ms +1.18% (-1.63% to +4.55%)
flock-mul-widening-batch-262144 arm64 Neoverse-V2 365.65 ms 361.12 ms -1.24% (-1.54% to +1.16%)
flock-mul-widening-batch-262144 x86-64 INTEL(R) XEON(R) GOLD 6548N 158.54 ms 158.40 ms +0.07% (-0.48% to +0.85%)
flock-mul-wrapping-batch-262144 arm64 Neoverse-V2 205.06 ms 202.28 ms -1.37% (-2.41% to -0.95%)
flock-mul-wrapping-batch-262144 x86-64 INTEL(R) XEON(R) GOLD 6548N 84.99 ms 85.22 ms +0.19% (-0.79% to +0.51%)
hash-50000 arm64 Neoverse-V2 549.88 ms 544.51 ms -1.12% (-1.21% to -0.19%)
hash-50000 x86-64 INTEL(R) XEON(R) GOLD 6548N 307.49 ms 306.99 ms +0.01% (-0.33% to +0.67%)
leansphincs-26 arm64 Neoverse-V2 194.26 ms 192.77 ms -0.92% (-1.42% to +0.28%)
leansphincs-26 x86-64 INTEL(R) XEON(R) GOLD 6548N 126.73 ms 126.57 ms -0.12% (-1.77% to +0.69%)
leanxmss-100 arm64 Neoverse-V2 177.05 ms 175.66 ms -0.98% (-1.50% to +2.33%)
leanxmss-100 x86-64 INTEL(R) XEON(R) GOLD 6548N 116.14 ms 115.89 ms -0.50% (-0.83% to +1.09%)
leanxmss-100-1thread arm64 Neoverse-V2 1.93 s 1.92 s -1.22% (-6.16% to -0.32%)
leanxmss-100-1thread x86-64 INTEL(R) XEON(R) GOLD 6548N 1.04 s 1.04 s +0.03% (-0.29% to +0.51%)
leanxmss-100-4thread arm64 Neoverse-V2 517.16 ms 513.68 ms -0.83% (-0.88% to +0.18%)
leanxmss-100-4thread x86-64 INTEL(R) XEON(R) GOLD 6548N 290.78 ms 290.32 ms -0.16% (-0.63% to +0.19%)
leanxmss-100-8thread arm64 Neoverse-V2 288.45 ms 285.50 ms -1.07% (-1.31% to -0.81%)
leanxmss-100-8thread x86-64 INTEL(R) XEON(R) GOLD 6548N 183.01 ms 183.99 ms +0.57% (-1.33% to +1.11%)
pcs-commit-22 arm64 Neoverse-V2 7.38 ms 7.32 ms -2.18% (-12.93% to +6.90%)
pcs-commit-22 x86-64 INTEL(R) XEON(R) GOLD 6548N 3.96 ms 3.94 ms -1.76% (-6.91% to +0.06%)
pcs-open-22 arm64 Neoverse-V2 16.41 ms 15.81 ms -3.91% (-6.00% to -1.48%)
pcs-open-22 x86-64 INTEL(R) XEON(R) GOLD 6548N 14.73 ms 14.69 ms -1.19% (-4.97% to +3.12%)
shielded-258 arm64 Neoverse-V2 791.13 ms 785.77 ms -0.77% (-1.43% to +0.45%)
shielded-258 x86-64 INTEL(R) XEON(R) GOLD 6548N 448.01 ms 450.38 ms +0.41% (-0.22% to +3.35%)
stateproof-5 arm64 Neoverse-V2 1.25 s 1.23 s -1.05% (-2.72% to -0.90%)
stateproof-5 x86-64 INTEL(R) XEON(R) GOLD 6548N 711.17 ms 708.06 ms -0.29% (-0.54% to +0.63%)
Prover stages
benchmark runner CPU base this PR change
aggregate-leanxmss-100-2to1-1thread-first arm64 Neoverse-V2 1.02 s 1.01 s -0.92% (-1.10% to +0.75%)
 ↳ build-circuit 12.89 ms 12.95 ms -0.47% (-0.99% to +4.06%)
 ↳ prove-recursion 981.22 ms 971.41 ms -1.02% (-1.12% to +0.77%)
 ↳ reduce-claims 15.86 ms 15.93 ms +0.29% (-0.60% to +2.50%)
 ↳ reduce-in-rows 1.45 ms 1.44 ms +0.11% (-4.72% to +2.86%)
 ↳ verify 7.12 ms 7.18 ms +0.68% (-0.67% to +1.23%)
aggregate-leanxmss-100-2to1-1thread-first x86-64 INTEL(R) XEON(R) GOLD 6548N 564.36 ms 558.10 ms -0.49% (-4.44% to +2.59%)
 ↳ build-circuit 13.91 ms 13.42 ms -2.91% (-4.66% to +1.24%)
 ↳ prove-recursion 524.38 ms 518.04 ms -0.47% (-4.84% to +2.76%)
 ↳ reduce-claims 17.20 ms 17.35 ms +0.60% (-0.30% to +5.59%)
 ↳ reduce-in-rows 1.48 ms 1.52 ms +1.97% (-5.00% to +7.26%)
 ↳ verify 7.45 ms 7.37 ms -2.28% (-5.93% to +1.53%)
aggregate-leanxmss-100-2to1-1thread-node arm64 Neoverse-V2 1.07 s 1.06 s -0.84% (-1.74% to +0.59%)
 ↳ build-circuit 12.67 ms 12.73 ms +0.36% (-1.30% to +3.05%)
 ↳ prove-recursion 1.02 s 1.01 s -0.94% (-1.81% to +0.47%)
 ↳ reduce-claims 31.12 ms 31.33 ms +0.66% (-0.33% to +3.11%)
 ↳ reduce-in-rows 1.46 ms 1.47 ms +1.46% (-2.21% to +3.19%)
aggregate-leanxmss-100-2to1-1thread-node x86-64 INTEL(R) XEON(R) GOLD 6548N 592.67 ms 589.05 ms -0.71% (-1.95% to +0.03%)
 ↳ build-circuit 14.41 ms 14.02 ms -0.49% (-6.29% to +0.98%)
 ↳ prove-recursion 539.18 ms 535.23 ms -0.25% (-1.85% to +0.23%)
 ↳ reduce-claims 30.88 ms 30.82 ms -3.53% (-6.12% to +4.02%)
 ↳ reduce-in-rows 1.61 ms 1.58 ms -4.45% (-7.84% to +8.36%)
aggregate-leanxmss-100-2to1-4thread-first arm64 Neoverse-V2 281.09 ms 278.20 ms -1.09% (-2.62% to +3.91%)
 ↳ build-circuit 10.53 ms 10.58 ms +1.25% (-6.62% to +2.83%)
 ↳ prove-recursion 257.05 ms 254.07 ms -1.20% (-2.51% to +4.16%)
 ↳ reduce-claims 5.30 ms 5.17 ms -1.20% (-6.19% to +1.69%)
 ↳ reduce-in-rows 1.40 ms 1.38 ms -2.44% (-4.93% to +3.26%)
 ↳ verify 6.78 ms 6.77 ms +0.17% (-2.67% to +1.79%)
aggregate-leanxmss-100-2to1-4thread-first x86-64 INTEL(R) XEON(R) GOLD 6548N 187.61 ms 189.04 ms +0.01% (-0.94% to +4.63%)
 ↳ build-circuit 13.88 ms 13.96 ms +1.36% (-2.17% to +1.75%)
 ↳ prove-recursion 158.00 ms 157.51 ms -0.21% (-0.64% to +6.13%)
 ↳ reduce-claims 7.03 ms 6.71 ms -3.28% (-14.53% to +5.49%)
 ↳ reduce-in-rows 1.52 ms 1.49 ms -0.27% (-3.96% to +0.75%)
 ↳ verify 7.77 ms 7.70 ms -0.67% (-1.63% to +0.32%)
aggregate-leanxmss-100-2to1-4thread-node arm64 Neoverse-V2 293.99 ms 291.89 ms -0.69% (-4.20% to +4.69%)
 ↳ build-circuit 11.21 ms 11.48 ms +1.39% (-2.94% to +3.28%)
 ↳ prove-recursion 265.09 ms 262.70 ms -0.95% (-4.29% to +5.13%)
 ↳ reduce-claims 10.23 ms 10.27 ms +0.64% (-4.39% to +1.14%)
 ↳ reduce-in-rows 1.45 ms 1.43 ms -0.93% (-4.60% to +2.78%)
aggregate-leanxmss-100-2to1-4thread-node x86-64 INTEL(R) XEON(R) GOLD 6548N 198.31 ms 196.09 ms -0.59% (-1.46% to +9.36%)
 ↳ build-circuit 14.64 ms 14.64 ms -0.54% (-5.58% to +2.04%)
 ↳ prove-recursion 161.98 ms 161.20 ms -0.48% (-0.67% to +10.05%)
 ↳ reduce-claims 12.74 ms 11.92 ms -6.39% (-8.51% to +15.45%)
 ↳ reduce-in-rows 1.75 ms 1.64 ms -6.52% (-8.33% to +2.51%)
aggregate-leanxmss-100-2to1-8thread-first arm64 Neoverse-V2 167.53 ms 165.95 ms -1.17% (-1.49% to -0.83%)
 ↳ build-circuit 10.71 ms 10.69 ms -0.21% (-1.07% to +2.30%)
 ↳ prove-recursion 144.06 ms 142.49 ms -1.29% (-1.74% to -0.92%)
 ↳ reduce-claims 4.18 ms 4.17 ms -0.02% (-3.90% to +2.01%)
 ↳ reduce-in-rows 1.45 ms 1.47 ms +1.78% (-1.49% to +7.35%)
 ↳ verify 7.02 ms 7.03 ms -0.09% (-1.35% to +0.98%)
aggregate-leanxmss-100-2to1-8thread-first x86-64 INTEL(R) XEON(R) GOLD 6548N 124.53 ms 123.54 ms -1.05% (-7.30% to +1.13%)
 ↳ build-circuit 14.75 ms 14.87 ms +0.80% (-2.87% to +10.90%)
 ↳ prove-recursion 92.31 ms 92.12 ms -0.50% (-8.95% to +0.42%)
 ↳ reduce-claims 6.21 ms 6.36 ms +2.29% (-14.60% to +42.15%)
 ↳ reduce-in-rows 1.82 ms 1.85 ms +0.24% (-2.12% to +8.53%)
 ↳ verify 7.89 ms 7.95 ms +0.77% (-2.29% to +2.52%)
aggregate-leanxmss-100-2to1-8thread-node arm64 Neoverse-V2 176.37 ms 174.42 ms -1.04% (-2.48% to -0.95%)
 ↳ build-circuit 11.61 ms 11.50 ms -0.96% (-4.10% to +0.17%)
 ↳ prove-recursion 149.40 ms 147.33 ms -1.20% (-2.86% to -0.97%)
 ↳ reduce-claims 7.81 ms 7.78 ms -0.68% (-2.33% to +0.64%)
 ↳ reduce-in-rows 1.48 ms 1.47 ms -0.92% (-3.08% to +3.36%)
aggregate-leanxmss-100-2to1-8thread-node x86-64 INTEL(R) XEON(R) GOLD 6548N 131.80 ms 128.31 ms -0.49% (-7.20% to +8.02%)
 ↳ build-circuit 15.60 ms 15.58 ms -2.11% (-3.83% to +2.59%)
 ↳ prove-recursion 94.77 ms 94.79 ms -0.68% (-7.67% to +9.67%)
 ↳ reduce-claims 10.76 ms 8.87 ms -0.26% (-19.16% to +10.23%)
 ↳ reduce-in-rows 1.90 ms 1.93 ms +3.58% (-6.15% to +6.56%)
aggregate-leanxmss-100-2to1-first arm64 Neoverse-V2 107.75 ms 106.96 ms -1.23% (-5.81% to +1.07%)
 ↳ build-circuit 10.23 ms 10.21 ms -0.21% (-1.35% to +1.34%)
 ↳ prove-recursion 85.09 ms 84.31 ms -1.20% (-7.17% to +1.37%)
 ↳ reduce-claims 3.76 ms 3.70 ms -1.54% (-1.79% to +3.64%)
 ↳ reduce-in-rows 1.39 ms 1.36 ms -4.00% (-4.37% to -1.89%)
 ↳ verify 7.27 ms 7.25 ms +0.05% (-0.56% to +0.22%)
aggregate-leanxmss-100-2to1-first x86-64 INTEL(R) XEON(R) GOLD 6548N 83.46 ms 84.51 ms +0.32% (-1.64% to +2.74%)
 ↳ build-circuit 13.51 ms 14.49 ms +6.84% (+0.20% to +9.49%)
 ↳ prove-recursion 52.26 ms 52.46 ms +0.39% (-1.19% to +1.99%)
 ↳ reduce-claims 7.11 ms 6.28 ms -5.89% (-30.96% to +31.25%)
 ↳ reduce-in-rows 1.74 ms 1.79 ms +2.66% (-0.25% to +9.10%)
 ↳ verify 8.69 ms 8.64 ms -0.27% (-1.55% to +1.12%)
aggregate-leanxmss-100-2to1-node arm64 Neoverse-V2 112.67 ms 111.48 ms -1.09% (-2.42% to +2.84%)
 ↳ build-circuit 11.06 ms 11.02 ms +0.12% (-0.54% to +0.45%)
 ↳ prove-recursion 87.49 ms 86.53 ms -1.35% (-3.16% to +3.66%)
 ↳ reduce-claims 6.41 ms 6.46 ms -0.30% (-8.35% to +1.12%)
 ↳ reduce-in-rows 1.47 ms 1.40 ms -1.80% (-6.46% to +2.32%)
aggregate-leanxmss-100-2to1-node x86-64 INTEL(R) XEON(R) GOLD 6548N 87.40 ms 86.31 ms -2.25% (-2.69% to +1.63%)
 ↳ build-circuit 14.84 ms 14.50 ms -1.82% (-4.39% to +3.63%)
 ↳ prove-recursion 53.55 ms 53.63 ms +0.15% (-0.57% to +1.07%)
 ↳ reduce-claims 10.28 ms 9.21 ms -14.58% (-18.32% to +2.05%)
 ↳ reduce-in-rows 1.86 ms 1.88 ms +1.39% (-5.88% to +10.15%)
aggregate-leanxmss-100-4to1-1thread-first arm64 Neoverse-V2 2.01 s 1.98 s -1.12% (-8.82% to +0.70%)
 ↳ build-circuit 25.41 ms 25.59 ms +0.61% (-0.07% to +3.10%)
 ↳ prove-recursion 1.94 s 1.92 s -1.23% (-9.09% to +0.70%)
 ↳ reduce-claims 21.37 ms 21.37 ms +0.01% (-1.35% to +0.93%)
 ↳ reduce-in-rows 2.74 ms 2.74 ms -1.54% (-2.83% to +4.23%)
 ↳ verify 13.70 ms 13.68 ms +0.01% (-1.50% to +2.60%)
aggregate-leanxmss-100-4to1-1thread-first x86-64 INTEL(R) XEON(R) GOLD 6548N 1.18 s 1.17 s -0.15% (-0.64% to +0.15%)
 ↳ build-circuit 32.47 ms 32.48 ms -0.25% (-1.34% to +1.19%)
 ↳ prove-recursion 1.10 s 1.10 s -0.10% (-0.55% to +0.22%)
 ↳ reduce-claims 26.15 ms 25.90 ms -0.84% (-4.75% to +1.18%)
 ↳ reduce-in-rows 3.43 ms 3.37 ms -1.27% (-7.62% to +2.83%)
 ↳ verify 15.08 ms 15.06 ms -0.28% (-1.92% to +0.02%)
aggregate-leanxmss-100-4to1-1thread-node arm64 Neoverse-V2 2.19 s 2.16 s -1.14% (-10.65% to +0.22%)
 ↳ build-circuit 29.45 ms 29.48 ms +1.27% (-3.08% to +8.23%)
 ↳ prove-recursion 2.08 s 2.06 s -1.17% (-11.16% to +0.03%)
 ↳ reduce-claims 55.55 ms 55.75 ms +0.51% (-0.26% to +2.14%)
 ↳ reduce-in-rows 2.93 ms 2.96 ms +1.05% (-2.53% to +1.37%)
aggregate-leanxmss-100-4to1-1thread-node x86-64 INTEL(R) XEON(R) GOLD 6548N 1.28 s 1.28 s -0.32% (-0.54% to +0.26%)
 ↳ build-circuit 37.21 ms 37.61 ms +2.11% (-2.44% to +2.87%)
 ↳ prove-recursion 1.16 s 1.16 s -0.27% (-0.51% to +0.12%)
 ↳ reduce-claims 62.07 ms 62.21 ms -0.14% (-1.15% to +0.95%)
 ↳ reduce-in-rows 3.57 ms 3.66 ms +1.22% (-2.90% to +4.03%)
aggregate-leanxmss-100-4to1-4thread-first arm64 Neoverse-V2 555.46 ms 553.13 ms -1.14% (-2.81% to -0.34%)
 ↳ build-circuit 22.25 ms 22.51 ms +1.44% (-0.57% to +2.78%)
 ↳ prove-recursion 510.11 ms 506.93 ms -1.32% (-3.24% to -0.42%)
 ↳ reduce-claims 6.91 ms 6.91 ms +0.53% (-0.79% to +1.88%)
 ↳ reduce-in-rows 2.78 ms 2.81 ms +1.00% (-2.16% to +2.59%)
 ↳ verify 13.62 ms 13.77 ms +1.23% (-1.64% to +2.01%)
aggregate-leanxmss-100-4to1-4thread-first x86-64 INTEL(R) XEON(R) GOLD 6548N 365.82 ms 363.95 ms -0.62% (-1.09% to +0.09%)
 ↳ build-circuit 34.50 ms 34.65 ms +0.33% (-5.56% to +1.28%)
 ↳ prove-recursion 302.03 ms 299.63 ms -0.83% (-0.98% to +0.38%)
 ↳ reduce-claims 9.43 ms 10.17 ms +5.38% (-15.74% to +15.75%)
 ↳ reduce-in-rows 3.84 ms 3.77 ms -1.68% (-4.27% to +1.62%)
 ↳ verify 15.69 ms 15.74 ms -0.24% (-1.84% to +2.13%)
aggregate-leanxmss-100-4to1-4thread-node arm64 Neoverse-V2 604.64 ms 608.59 ms -0.60% (-2.74% to +1.67%)
 ↳ build-circuit 26.11 ms 25.96 ms -0.63% (-2.59% to +1.00%)
 ↳ prove-recursion 544.57 ms 547.52 ms -0.67% (-1.51% to +1.79%)
 ↳ reduce-claims 17.18 ms 17.13 ms -0.50% (-33.13% to +20.50%)
 ↳ reduce-in-rows 2.95 ms 2.91 ms -0.91% (-4.53% to +8.60%)
aggregate-leanxmss-100-4to1-4thread-node x86-64 INTEL(R) XEON(R) GOLD 6548N 398.47 ms 394.92 ms -0.97% (-1.35% to +2.14%)
 ↳ build-circuit 39.68 ms 40.13 ms -0.25% (-2.83% to +11.29%)
 ↳ prove-recursion 316.65 ms 314.48 ms -0.59% (-1.12% to +0.34%)
 ↳ reduce-claims 21.41 ms 20.87 ms -2.54% (-6.35% to +8.52%)
 ↳ reduce-in-rows 4.04 ms 3.99 ms +0.49% (-10.41% to +1.78%)
aggregate-leanxmss-100-4to1-8thread-first arm64 Neoverse-V2 319.26 ms 315.43 ms -1.20% (-1.32% to -0.93%)
 ↳ build-circuit 21.03 ms 20.82 ms -1.20% (-4.26% to +0.71%)
 ↳ prove-recursion 276.45 ms 272.90 ms -1.28% (-1.42% to -0.98%)
 ↳ reduce-claims 5.14 ms 5.37 ms +4.15% (-1.21% to +5.41%)
 ↳ reduce-in-rows 2.76 ms 2.69 ms -2.21% (-4.45% to +0.41%)
 ↳ verify 13.64 ms 13.61 ms -0.05% (-1.13% to +0.35%)
aggregate-leanxmss-100-4to1-8thread-first x86-64 INTEL(R) XEON(R) GOLD 6548N 224.04 ms 223.36 ms -0.21% (-2.34% to +0.71%)
 ↳ build-circuit 30.28 ms 30.47 ms -0.28% (-2.90% to +4.98%)
 ↳ prove-recursion 166.63 ms 166.24 ms -0.14% (-0.53% to +0.24%)
 ↳ reduce-claims 8.17 ms 7.01 ms -9.23% (-23.69% to +7.17%)
 ↳ reduce-in-rows 3.48 ms 3.49 ms +0.53% (-1.63% to +7.01%)
 ↳ verify 15.00 ms 15.00 ms +0.02% (-9.58% to +0.86%)
aggregate-leanxmss-100-4to1-8thread-node arm64 Neoverse-V2 346.69 ms 341.21 ms -1.17% (-2.28% to -0.93%)
 ↳ build-circuit 25.07 ms 24.40 ms -0.85% (-4.63% to -0.24%)
 ↳ prove-recursion 293.44 ms 289.24 ms -1.21% (-2.10% to -0.92%)
 ↳ reduce-claims 11.88 ms 11.84 ms -0.12% (-0.78% to +1.37%)
 ↳ reduce-in-rows 2.92 ms 2.86 ms -1.19% (-3.58% to +1.97%)
aggregate-leanxmss-100-4to1-8thread-node x86-64 INTEL(R) XEON(R) GOLD 6548N 240.26 ms 241.38 ms -0.02% (-3.24% to +1.06%)
 ↳ build-circuit 34.16 ms 34.32 ms +0.32% (-2.79% to +7.23%)
 ↳ prove-recursion 173.45 ms 173.41 ms +0.13% (-5.26% to +0.64%)
 ↳ reduce-claims 13.97 ms 14.13 ms -0.83% (-10.40% to +8.51%)
 ↳ reduce-in-rows 3.93 ms 3.94 ms +0.44% (-0.10% to +1.82%)
aggregate-leanxmss-100-4to1-first arm64 Neoverse-V2 203.97 ms 202.24 ms -0.77% (-2.31% to +0.59%)
 ↳ build-circuit 21.54 ms 21.35 ms -0.95% (-3.30% to +1.45%)
 ↳ prove-recursion 160.73 ms 159.15 ms -1.04% (-2.15% to +0.41%)
 ↳ reduce-claims 4.54 ms 4.62 ms +0.06% (-4.55% to +4.26%)
 ↳ reduce-in-rows 2.76 ms 2.75 ms -0.56% (-2.63% to +0.29%)
 ↳ verify 14.60 ms 14.48 ms -0.72% (-2.54% to +0.60%)
aggregate-leanxmss-100-4to1-first x86-64 INTEL(R) XEON(R) GOLD 6548N 156.66 ms 156.83 ms -0.03% (-1.21% to +0.46%)
 ↳ build-circuit 32.92 ms 32.92 ms -0.40% (-1.97% to +3.02%)
 ↳ prove-recursion 94.12 ms 93.64 ms +0.28% (-0.95% to +1.40%)
 ↳ reduce-claims 8.91 ms 9.21 ms -7.29% (-16.24% to +9.00%)
 ↳ reduce-in-rows 3.76 ms 3.78 ms +1.80% (-1.91% to +2.45%)
 ↳ verify 16.75 ms 16.68 ms -0.25% (-2.90% to +0.85%)
aggregate-leanxmss-100-4to1-node arm64 Neoverse-V2 222.07 ms 220.79 ms -1.02% (-1.52% to +1.52%)
 ↳ build-circuit 24.82 ms 24.72 ms -0.31% (-2.72% to +0.90%)
 ↳ prove-recursion 171.80 ms 170.77 ms -1.22% (-1.53% to +1.88%)
 ↳ reduce-claims 9.40 ms 9.39 ms -0.94% (-2.30% to +0.65%)
 ↳ reduce-in-rows 2.95 ms 2.89 ms -2.05% (-2.93% to +0.31%)
aggregate-leanxmss-100-4to1-node x86-64 INTEL(R) XEON(R) GOLD 6548N 165.29 ms 166.07 ms +0.50% (-2.78% to +1.16%)
 ↳ build-circuit 37.04 ms 37.44 ms +1.08% (-2.24% to +2.73%)
 ↳ prove-recursion 97.74 ms 97.20 ms -0.41% (-0.77% to +0.08%)
 ↳ reduce-claims 12.42 ms 12.80 ms +2.14% (-28.93% to +25.65%)
 ↳ reduce-in-rows 4.07 ms 4.07 ms -0.10% (-2.36% to +0.83%)
falcon-7 arm64 Neoverse-V2 579.53 ms 580.29 ms +0.21% (-1.39% to +0.58%)
 ↳ build-witness 25.30 ms 25.37 ms +0.68% (-1.55% to +2.65%)
 ↳ commit 83.88 ms 84.46 ms +0.75% (-1.01% to +1.10%)
 ↳ execute-program 32.06 ms 32.57 ms +1.35% (-0.76% to +21.54%)
 ↳ flock-reductions 189.01 ms 189.34 ms +0.24% (-0.11% to +1.09%)
 ↳ pcs-open 207.38 ms 202.72 ms -2.05% (-3.39% to +0.50%)
 ↳ prove-bus 33.50 ms 33.38 ms -0.40% (-0.62% to +1.64%)
 ↳ prove-constraints 7.93 ms 8.00 ms +0.41% (-4.28% to +4.53%)
falcon-7 x86-64 INTEL(R) XEON(R) GOLD 6548N 336.19 ms 331.62 ms +0.07% (-3.24% to +0.33%)
 ↳ build-witness 22.67 ms 22.39 ms -1.58% (-29.16% to +6.71%)
 ↳ commit 44.30 ms 44.13 ms -0.68% (-3.73% to +0.94%)
 ↳ execute-program 43.71 ms 43.68 ms -1.78% (-5.84% to +8.75%)
 ↳ flock-reductions 86.07 ms 85.00 ms +0.24% (-2.46% to +0.27%)
 ↳ pcs-open 101.25 ms 101.01 ms -0.19% (-1.23% to +0.52%)
 ↳ prove-bus 26.21 ms 25.74 ms -1.77% (-3.26% to -0.13%)
 ↳ prove-constraints 9.26 ms 9.20 ms -1.15% (-1.90% to +3.27%)
fibonacci-asm-2000000 arm64 Neoverse-V2 888.89 ms 875.85 ms -1.25% (-1.80% to -0.54%)
 ↳ build-witness 36.40 ms 36.10 ms +0.20% (-1.29% to +0.62%)
 ↳ commit 128.55 ms 129.70 ms +0.54% (-0.47% to +1.39%)
 ↳ execute-program 65.39 ms 64.10 ms -0.97% (-4.37% to +0.63%)
 ↳ flock-reductions 309.76 ms 309.42 ms -0.07% (-2.12% to +0.11%)
 ↳ pcs-open 281.89 ms 272.91 ms -3.43% (-4.11% to -1.13%)
 ↳ prove-bus 53.41 ms 53.63 ms -0.29% (-2.68% to +1.99%)
 ↳ prove-constraints 10.85 ms 10.79 ms +0.12% (-0.91% to +0.85%)
fibonacci-asm-2000000 x86-64 INTEL(R) XEON(R) GOLD 6548N 476.14 ms 473.95 ms -0.55% (-3.03% to +0.30%)
 ↳ build-witness 35.35 ms 35.54 ms -0.54% (-2.66% to +2.05%)
 ↳ commit 64.26 ms 63.78 ms -0.72% (-3.15% to +0.06%)
 ↳ execute-program 73.88 ms 74.50 ms +0.05% (-14.85% to +5.11%)
 ↳ flock-reductions 118.47 ms 118.79 ms -0.02% (-0.58% to +0.44%)
 ↳ pcs-open 135.09 ms 134.99 ms +0.20% (-1.27% to +1.29%)
 ↳ prove-bus 35.32 ms 34.30 ms -2.31% (-4.84% to +0.77%)
 ↳ prove-constraints 12.54 ms 12.39 ms -0.39% (-3.72% to +2.83%)
hash-50000 arm64 Neoverse-V2 549.88 ms 544.51 ms -1.12% (-1.21% to -0.19%)
 ↳ build-witness 24.63 ms 24.53 ms -0.40% (-1.00% to +0.19%)
 ↳ commit 84.03 ms 83.87 ms -0.22% (-0.52% to -0.06%)
 ↳ execute-program 23.42 ms 23.36 ms -0.33% (-1.90% to +0.71%)
 ↳ flock-reductions 176.29 ms 176.45 ms -0.10% (-0.52% to +0.29%)
 ↳ pcs-open 206.23 ms 201.09 ms -2.74% (-3.14% to -0.50%)
 ↳ prove-bus 28.01 ms 27.92 ms +0.38% (-0.47% to +1.48%)
 ↳ prove-constraints 7.24 ms 7.32 ms -0.03% (-0.14% to +2.11%)
hash-50000 x86-64 INTEL(R) XEON(R) GOLD 6548N 307.49 ms 306.99 ms +0.01% (-0.33% to +0.67%)
 ↳ build-witness 23.72 ms 23.72 ms -0.82% (-3.82% to +1.00%)
 ↳ commit 42.47 ms 42.73 ms +0.54% (+0.37% to +0.69%)
 ↳ execute-program 28.08 ms 28.44 ms +1.09% (-4.01% to +5.50%)
 ↳ flock-reductions 84.57 ms 84.86 ms +0.17% (-0.23% to +1.12%)
 ↳ pcs-open 98.22 ms 97.57 ms -0.66% (-1.27% to +0.38%)
 ↳ prove-bus 20.90 ms 20.96 ms +0.28% (-1.17% to +0.73%)
 ↳ prove-constraints 9.00 ms 9.14 ms +1.69% (-1.81% to +3.45%)
leansphincs-26 arm64 Neoverse-V2 194.26 ms 192.77 ms -0.92% (-1.42% to +0.28%)
 ↳ build-witness 7.12 ms 7.06 ms -0.93% (-3.70% to +3.80%)
 ↳ commit 24.08 ms 24.10 ms +0.10% (-0.07% to +1.30%)
 ↳ execute-program 11.62 ms 11.92 ms +2.54% (-2.14% to +4.68%)
 ↳ flock-reductions 65.82 ms 65.73 ms -0.02% (-1.44% to +1.10%)
 ↳ pcs-open 66.45 ms 64.80 ms -2.33% (-4.09% to -0.54%)
 ↳ prove-bus 14.32 ms 14.25 ms -0.33% (-1.71% to +1.23%)
 ↳ prove-constraints 4.28 ms 4.16 ms -2.31% (-3.68% to +0.55%)
leansphincs-26 x86-64 INTEL(R) XEON(R) GOLD 6548N 126.73 ms 126.57 ms -0.12% (-1.77% to +0.69%)
 ↳ build-witness 8.74 ms 8.76 ms -0.27% (-0.40% to +2.23%)
 ↳ commit 12.81 ms 12.86 ms +0.39% (-0.70% to +1.35%)
 ↳ execute-program 14.41 ms 14.28 ms -1.58% (-7.52% to -0.55%)
 ↳ flock-reductions 38.29 ms 38.31 ms +0.38% (-1.87% to +0.66%)
 ↳ pcs-open 34.15 ms 34.18 ms +0.38% (-0.97% to +1.32%)
 ↳ prove-bus 12.52 ms 12.52 ms +0.76% (-2.74% to +3.31%)
 ↳ prove-constraints 5.48 ms 5.41 ms -0.87% (-2.29% to -0.15%)
leanxmss-100 arm64 Neoverse-V2 177.05 ms 175.66 ms -0.98% (-1.50% to +2.33%)
 ↳ build-witness 6.21 ms 6.19 ms -0.76% (-2.68% to +7.86%)
 ↳ commit 21.00 ms 20.92 ms -0.35% (-0.70% to +1.52%)
 ↳ execute-program 10.24 ms 10.46 ms +1.37% (-0.52% to +8.39%)
 ↳ flock-reductions 61.14 ms 61.22 ms +0.17% (-0.00% to +1.99%)
 ↳ pcs-open 61.70 ms 59.74 ms -3.18% (-4.32% to +4.55%)
 ↳ prove-bus 12.80 ms 12.87 ms +0.53% (+0.02% to +2.58%)
 ↳ prove-constraints 3.85 ms 3.86 ms +1.16% (-0.41% to +3.59%)
leanxmss-100 x86-64 INTEL(R) XEON(R) GOLD 6548N 116.14 ms 115.89 ms -0.50% (-0.83% to +1.09%)
 ↳ build-witness 7.88 ms 7.89 ms -0.11% (-2.40% to +8.33%)
 ↳ commit 11.65 ms 11.70 ms +0.23% (+0.06% to +0.83%)
 ↳ execute-program 13.06 ms 12.87 ms -1.08% (-5.26% to +5.18%)
 ↳ flock-reductions 36.07 ms 36.23 ms +0.21% (-1.64% to +1.12%)
 ↳ pcs-open 30.84 ms 30.76 ms +0.05% (-0.66% to +1.07%)
 ↳ prove-bus 11.51 ms 11.46 ms -0.50% (-1.50% to +0.86%)
 ↳ prove-constraints 5.13 ms 4.97 ms -2.16% (-4.80% to +0.09%)
leanxmss-100-1thread arm64 Neoverse-V2 1.93 s 1.92 s -1.22% (-6.16% to -0.32%)
 ↳ build-witness 65.75 ms 65.76 ms -1.18% (-15.30% to +0.93%)
 ↳ commit 302.98 ms 303.81 ms +0.27% (-6.08% to +0.88%)
 ↳ execute-program 10.20 ms 10.25 ms +0.22% (-12.39% to +1.19%)
 ↳ flock-reductions 698.92 ms 696.93 ms -0.67% (-2.78% to +0.42%)
 ↳ pcs-open 725.88 ms 706.96 ms -2.39% (-6.67% to -1.69%)
 ↳ prove-bus 117.57 ms 118.02 ms +0.19% (-15.32% to +0.73%)
 ↳ prove-constraints 14.44 ms 14.74 ms -0.40% (-20.38% to +3.94%)
leanxmss-100-1thread x86-64 INTEL(R) XEON(R) GOLD 6548N 1.04 s 1.04 s +0.03% (-0.29% to +0.51%)
 ↳ build-witness 75.00 ms 74.98 ms +0.12% (-1.34% to +3.44%)
 ↳ commit 188.59 ms 187.57 ms +0.10% (-1.66% to +0.68%)
 ↳ execute-program 13.16 ms 13.23 ms -0.22% (-2.29% to +3.46%)
 ↳ flock-reductions 301.35 ms 301.73 ms +0.13% (-0.66% to +1.00%)
 ↳ pcs-open 357.78 ms 358.04 ms -0.07% (-0.75% to +0.85%)
 ↳ prove-bus 85.54 ms 86.31 ms +0.00% (-2.70% to +3.67%)
 ↳ prove-constraints 19.07 ms 19.13 ms +0.23% (-0.33% to +5.27%)
leanxmss-100-4thread arm64 Neoverse-V2 517.16 ms 513.68 ms -0.83% (-0.88% to +0.18%)
 ↳ build-witness 17.90 ms 17.98 ms +0.52% (-0.26% to +1.04%)
 ↳ commit 76.34 ms 76.51 ms +0.02% (-0.17% to +0.49%)
 ↳ execute-program 10.32 ms 10.21 ms -0.75% (-1.43% to +1.27%)
 ↳ flock-reductions 185.01 ms 184.54 ms -0.24% (-0.32% to +0.06%)
 ↳ pcs-open 189.08 ms 185.43 ms -2.01% (-2.36% to +0.59%)
 ↳ prove-bus 32.76 ms 32.86 ms +0.02% (-0.58% to +0.77%)
 ↳ prove-constraints 5.59 ms 5.57 ms -0.25% (-0.84% to +0.41%)
leanxmss-100-4thread x86-64 INTEL(R) XEON(R) GOLD 6548N 290.78 ms 290.32 ms -0.16% (-0.63% to +0.19%)
 ↳ build-witness 20.90 ms 20.84 ms -0.17% (-0.96% to +0.51%)
 ↳ commit 46.13 ms 46.05 ms +0.10% (-0.55% to +0.73%)
 ↳ execute-program 13.05 ms 12.84 ms -1.24% (-2.73% to -0.37%)
 ↳ flock-reductions 84.75 ms 84.68 ms +0.03% (-0.71% to +0.19%)
 ↳ pcs-open 92.54 ms 92.59 ms -0.31% (-0.51% to +0.76%)
 ↳ prove-bus 26.00 ms 25.83 ms -1.32% (-1.57% to +1.88%)
 ↳ prove-constraints 7.21 ms 7.19 ms -0.67% (-1.30% to +0.33%)
leanxmss-100-8thread arm64 Neoverse-V2 288.45 ms 285.50 ms -1.07% (-1.31% to -0.81%)
 ↳ build-witness 9.91 ms 9.89 ms -0.44% (-0.80% to +0.54%)
 ↳ commit 39.35 ms 39.24 ms -0.05% (-0.83% to +0.37%)
 ↳ execute-program 10.23 ms 10.19 ms -0.25% (-2.22% to +0.44%)
 ↳ flock-reductions 101.98 ms 101.93 ms -0.22% (-0.38% to +0.21%)
 ↳ pcs-open 103.33 ms 100.71 ms -2.65% (-3.04% to -2.07%)
 ↳ prove-bus 19.29 ms 19.23 ms -0.30% (-0.73% to +0.49%)
 ↳ prove-constraints 4.28 ms 4.27 ms -0.34% (-1.28% to +0.54%)
leanxmss-100-8thread x86-64 INTEL(R) XEON(R) GOLD 6548N 183.01 ms 183.99 ms +0.57% (-1.33% to +1.11%)
 ↳ build-witness 12.13 ms 12.14 ms +0.17% (-1.62% to +2.28%)
 ↳ commit 25.64 ms 25.75 ms +0.81% (-0.11% to +1.13%)
 ↳ execute-program 13.86 ms 13.94 ms -0.80% (-15.25% to +1.29%)
 ↳ flock-reductions 50.26 ms 50.33 ms +0.46% (-1.25% to +2.16%)
 ↳ pcs-open 58.44 ms 58.66 ms +0.90% (-0.47% to +1.15%)
 ↳ prove-bus 17.11 ms 17.10 ms +0.76% (-0.65% to +3.71%)
 ↳ prove-constraints 5.46 ms 5.47 ms -0.59% (-3.35% to +1.94%)
shielded-258 arm64 Neoverse-V2 791.13 ms 785.77 ms -0.77% (-1.43% to +0.45%)
 ↳ build-witness 31.77 ms 32.31 ms +1.68% (+0.25% to +14.52%)
 ↳ commit 116.69 ms 117.06 ms +0.34% (-0.37% to +0.57%)
 ↳ execute-program 58.41 ms 58.52 ms +0.32% (+0.04% to +14.34%)
 ↳ flock-reductions 251.51 ms 251.59 ms +0.15% (-3.61% to +4.26%)
 ↳ pcs-open 267.41 ms 259.32 ms -3.03% (-3.27% to -1.74%)
 ↳ prove-bus 55.00 ms 55.28 ms -0.09% (-19.38% to +0.99%)
 ↳ prove-constraints 10.13 ms 10.30 ms +1.24% (-2.26% to +4.26%)
shielded-258 x86-64 INTEL(R) XEON(R) GOLD 6548N 448.01 ms 450.38 ms +0.41% (-0.22% to +3.35%)
 ↳ build-witness 33.07 ms 32.97 ms -0.13% (-1.39% to +4.94%)
 ↳ commit 57.97 ms 57.83 ms -0.25% (-0.74% to +0.33%)
 ↳ execute-program 73.38 ms 74.37 ms +1.44% (-0.39% to +25.75%)
 ↳ flock-reductions 108.88 ms 108.64 ms -0.80% (-1.53% to +0.36%)
 ↳ pcs-open 125.13 ms 125.22 ms +0.13% (-0.83% to +0.74%)
 ↳ prove-bus 37.79 ms 37.44 ms -0.00% (-3.77% to +8.90%)
 ↳ prove-constraints 11.29 ms 11.37 ms -0.07% (-2.86% to +4.00%)
stateproof-5 arm64 Neoverse-V2 1.25 s 1.23 s -1.05% (-2.72% to -0.90%)
 ↳ build-witness 50.78 ms 50.74 ms -0.07% (-2.56% to +0.84%)
 ↳ commit 191.30 ms 191.06 ms -0.29% (-0.51% to +0.31%)
 ↳ execute-program 73.08 ms 73.43 ms +0.51% (-0.49% to +1.16%)
 ↳ flock-reductions 383.02 ms 383.33 ms +0.08% (-4.54% to +0.42%)
 ↳ pcs-open 450.60 ms 435.79 ms -3.30% (-3.34% to -2.32%)
 ↳ prove-bus 82.01 ms 82.19 ms +0.03% (-0.30% to +1.05%)
 ↳ prove-constraints 15.30 ms 15.25 ms -0.22% (-3.10% to +1.26%)
stateproof-5 x86-64 INTEL(R) XEON(R) GOLD 6548N 711.17 ms 708.06 ms -0.29% (-0.54% to +0.63%)
 ↳ build-witness 51.75 ms 52.35 ms +0.76% (-0.25% to +2.34%)
 ↳ commit 98.16 ms 98.82 ms +0.78% (-1.07% to +0.96%)
 ↳ execute-program 97.23 ms 98.18 ms +0.97% (-0.39% to +3.62%)
 ↳ flock-reductions 169.89 ms 169.18 ms -0.42% (-3.13% to +0.51%)
 ↳ pcs-open 216.98 ms 216.84 ms +0.35% (-3.50% to +0.72%)
 ↳ prove-bus 54.19 ms 54.59 ms +1.07% (-1.34% to +2.75%)
 ↳ prove-constraints 17.18 ms 17.54 ms +2.01% (+0.37% to +3.38%)

Verifying time

benchmark runner CPU base this PR change
aggregate-leanxmss-100-2to1-1thread-first arm64 Neoverse-V2 4.93 ms 4.98 ms +0.89% (-0.97% to +1.51%)
aggregate-leanxmss-100-2to1-1thread-first x86-64 INTEL(R) XEON(R) GOLD 6548N 4.29 ms 4.24 ms -0.98% (-6.77% to +1.75%)
aggregate-leanxmss-100-2to1-1thread-node arm64 Neoverse-V2 7.83 ms 7.89 ms +0.74% (+0.26% to +1.82%)
aggregate-leanxmss-100-2to1-1thread-node x86-64 INTEL(R) XEON(R) GOLD 6548N 7.15 ms 7.17 ms -0.72% (-5.43% to +8.18%)
aggregate-leanxmss-100-2to1-4thread-first arm64 Neoverse-V2 3.53 ms 3.49 ms -1.19% (-7.23% to +0.27%)
aggregate-leanxmss-100-2to1-4thread-first x86-64 INTEL(R) XEON(R) GOLD 6548N 3.60 ms 3.60 ms -0.35% (-0.44% to +2.58%)
aggregate-leanxmss-100-2to1-4thread-node arm64 Neoverse-V2 4.27 ms 4.25 ms -0.55% (-4.21% to +0.59%)
aggregate-leanxmss-100-2to1-4thread-node x86-64 INTEL(R) XEON(R) GOLD 6548N 4.49 ms 4.39 ms -1.99% (-3.95% to -0.87%)
aggregate-leanxmss-100-2to1-8thread-first arm64 Neoverse-V2 3.61 ms 3.61 ms -0.35% (-0.67% to +0.35%)
aggregate-leanxmss-100-2to1-8thread-first x86-64 INTEL(R) XEON(R) GOLD 6548N 3.98 ms 3.95 ms -2.93% (-3.32% to +0.15%)
aggregate-leanxmss-100-2to1-8thread-node arm64 Neoverse-V2 4.02 ms 4.01 ms -0.51% (-2.19% to +1.13%)
aggregate-leanxmss-100-2to1-8thread-node x86-64 INTEL(R) XEON(R) GOLD 6548N 4.39 ms 4.38 ms -0.35% (-1.47% to +1.28%)
aggregate-leanxmss-100-2to1-first arm64 Neoverse-V2 3.41 ms 3.42 ms -0.04% (-0.55% to +0.32%)
aggregate-leanxmss-100-2to1-first x86-64 INTEL(R) XEON(R) GOLD 6548N 4.24 ms 4.28 ms +0.21% (-4.54% to +5.81%)
aggregate-leanxmss-100-2to1-node arm64 Neoverse-V2 3.70 ms 3.69 ms -0.17% (-0.37% to -0.05%)
aggregate-leanxmss-100-2to1-node x86-64 INTEL(R) XEON(R) GOLD 6548N 4.19 ms 4.18 ms +2.42% (-2.85% to +3.32%)
aggregate-leanxmss-100-4to1-1thread-first arm64 Neoverse-V2 5.68 ms 5.63 ms -0.89% (-19.64% to +19.71%)
aggregate-leanxmss-100-4to1-1thread-first x86-64 INTEL(R) XEON(R) GOLD 6548N 5.12 ms 5.13 ms +0.25% (-1.35% to +2.50%)
aggregate-leanxmss-100-4to1-1thread-node arm64 Neoverse-V2 11.26 ms 11.10 ms -0.79% (-2.51% to +12.86%)
aggregate-leanxmss-100-4to1-1thread-node x86-64 INTEL(R) XEON(R) GOLD 6548N 12.30 ms 12.28 ms -0.34% (-5.01% to +2.64%)
aggregate-leanxmss-100-4to1-4thread-first arm64 Neoverse-V2 4.03 ms 4.02 ms -0.02% (-3.20% to +1.15%)
aggregate-leanxmss-100-4to1-4thread-first x86-64 INTEL(R) XEON(R) GOLD 6548N 4.54 ms 4.41 ms -2.61% (-5.46% to -1.21%)
aggregate-leanxmss-100-4to1-4thread-node arm64 Neoverse-V2 5.51 ms 5.53 ms +1.19% (-7.33% to +7.44%)
aggregate-leanxmss-100-4to1-4thread-node x86-64 INTEL(R) XEON(R) GOLD 6548N 6.35 ms 6.38 ms -0.62% (-3.69% to +2.84%)
aggregate-leanxmss-100-4to1-8thread-first arm64 Neoverse-V2 3.77 ms 3.77 ms -0.88% (-2.28% to -0.08%)
aggregate-leanxmss-100-4to1-8thread-first x86-64 INTEL(R) XEON(R) GOLD 6548N 3.83 ms 3.84 ms +0.39% (-3.44% to +1.95%)
aggregate-leanxmss-100-4to1-8thread-node arm64 Neoverse-V2 4.52 ms 4.59 ms +0.62% (-1.21% to +1.59%)
aggregate-leanxmss-100-4to1-8thread-node x86-64 INTEL(R) XEON(R) GOLD 6548N 4.98 ms 4.97 ms -0.40% (-2.03% to +3.66%)
aggregate-leanxmss-100-4to1-first arm64 Neoverse-V2 3.79 ms 3.77 ms -0.34% (-3.79% to +0.24%)
aggregate-leanxmss-100-4to1-first x86-64 INTEL(R) XEON(R) GOLD 6548N 4.55 ms 4.51 ms -0.07% (-7.86% to +2.86%)
aggregate-leanxmss-100-4to1-node arm64 Neoverse-V2 4.27 ms 4.27 ms +0.28% (-3.05% to +1.68%)
aggregate-leanxmss-100-4to1-node x86-64 INTEL(R) XEON(R) GOLD 6548N 4.81 ms 4.79 ms -0.55% (-4.33% to +3.65%)
falcon-7 arm64 Neoverse-V2 4.37 ms 4.37 ms +0.33% (-2.44% to +1.68%)
falcon-7 x86-64 INTEL(R) XEON(R) GOLD 6548N 5.05 ms 5.00 ms -2.29% (-4.74% to +2.02%)
fibonacci-asm-2000000 arm64 Neoverse-V2 4.04 ms 4.12 ms +1.03% (-0.62% to +3.99%)
fibonacci-asm-2000000 x86-64 INTEL(R) XEON(R) GOLD 6548N 4.65 ms 4.68 ms +1.59% (-3.20% to +2.38%)
hash-50000 arm64 Neoverse-V2 4.13 ms 4.11 ms -0.15% (-1.02% to +1.33%)
hash-50000 x86-64 INTEL(R) XEON(R) GOLD 6548N 4.57 ms 4.54 ms -0.63% (-2.70% to +1.11%)
leansphincs-26 arm64 Neoverse-V2 4.15 ms 4.07 ms -0.42% (-3.25% to +1.19%)
leansphincs-26 x86-64 INTEL(R) XEON(R) GOLD 6548N 4.49 ms 4.47 ms +0.18% (-1.00% to +0.26%)
leanxmss-100 arm64 Neoverse-V2 4.15 ms 4.13 ms +0.07% (-2.46% to +4.12%)
leanxmss-100 x86-64 INTEL(R) XEON(R) GOLD 6548N 4.52 ms 4.51 ms -0.45% (-1.65% to +2.82%)
leanxmss-100-1thread arm64 Neoverse-V2 3.89 ms 3.88 ms -0.98% (-16.82% to +0.98%)
leanxmss-100-1thread x86-64 INTEL(R) XEON(R) GOLD 6548N 4.11 ms 4.11 ms +0.16% (-1.84% to +1.69%)
leanxmss-100-4thread arm64 Neoverse-V2 3.83 ms 3.85 ms +0.35% (-0.55% to +1.59%)
leanxmss-100-4thread x86-64 INTEL(R) XEON(R) GOLD 6548N 4.07 ms 4.06 ms -0.10% (-2.00% to +0.81%)
leanxmss-100-8thread arm64 Neoverse-V2 3.90 ms 3.87 ms -0.64% (-0.99% to -0.25%)
leanxmss-100-8thread x86-64 INTEL(R) XEON(R) GOLD 6548N 4.25 ms 4.27 ms -0.22% (-0.72% to +1.20%)
shielded-258 arm64 Neoverse-V2 4.27 ms 4.29 ms +0.26% (-0.34% to +0.91%)
shielded-258 x86-64 INTEL(R) XEON(R) GOLD 6548N 4.69 ms 4.67 ms -0.18% (-0.81% to +1.24%)
stateproof-5 arm64 Neoverse-V2 4.32 ms 4.31 ms -0.05% (-0.46% to +0.54%)
stateproof-5 x86-64 INTEL(R) XEON(R) GOLD 6548N 4.91 ms 4.93 ms +0.39% (-2.05% to +3.28%)

Time per operation

benchmark runner CPU base this PR change
blake2s-batch arm64 Neoverse-V2 2.92 ns 2.91 ns -0.07% (-0.92% to +0.27%)
blake2s-batch x86-64 INTEL(R) XEON(R) GOLD 6548N 0.80 ns 0.80 ns +0.13% (+0.00% to +0.13%)
f192-inv arm64 Neoverse-V2 244.91 ns 245.13 ns +0.09% (-0.04% to +0.13%)
f192-inv x86-64 INTEL(R) XEON(R) GOLD 6548N 267.26 ns 266.72 ns -0.23% (-0.53% to +0.96%)
f192-mul-latency arm64 Neoverse-V2 8.02 ns 8.01 ns +0.09% (-0.68% to +0.42%)
f192-mul-latency x86-64 INTEL(R) XEON(R) GOLD 6548N 7.59 ns 7.58 ns +0.24% (-0.47% to +0.28%)
f192-mul-throughput arm64 Neoverse-V2 2.94 ns 2.94 ns +0.00% (+0.00% to +0.03%)
f192-mul-throughput x86-64 INTEL(R) XEON(R) GOLD 6548N 4.49 ns 4.49 ns -0.58% (-1.04% to +1.03%)
f192-mul4-latency arm64 Neoverse-V2 13.10 ns 12.70 ns -3.11% (-3.80% to +3.29%)
f192-mul4-latency x86-64 INTEL(R) XEON(R) GOLD 6548N 10.17 ns 10.17 ns -0.21% (-0.33% to +0.90%)
f192-mul4-throughput arm64 Neoverse-V2 10.76 ns 10.76 ns +0.03% (-0.15% to +0.09%)
f192-mul4-throughput x86-64 INTEL(R) XEON(R) GOLD 6548N 15.79 ns 15.73 ns -0.52% (-0.78% to +0.39%)
f192-square arm64 Neoverse-V2 1.70 ns 1.70 ns +0.06% (+0.00% to +0.06%)
f192-square x86-64 INTEL(R) XEON(R) GOLD 6548N 3.32 ns 3.32 ns +0.66% (-2.07% to +0.82%)
f64-inv arm64 Neoverse-V2 211.51 ns 211.53 ns +0.02% (-0.12% to +0.11%)
f64-inv x86-64 INTEL(R) XEON(R) GOLD 6548N 238.96 ns 238.77 ns -0.19% (-0.77% to +1.07%)
f64-mul arm64 Neoverse-V2 0.56 ns 0.56 ns +0.18% (+0.00% to +0.36%)
f64-mul x86-64 INTEL(R) XEON(R) GOLD 6548N 0.87 ns 0.87 ns +0.23% (-1.70% to +1.15%)
f64-square arm64 Neoverse-V2 0.55 ns 0.55 ns -0.91% (-1.09% to +1.28%)
f64-square x86-64 INTEL(R) XEON(R) GOLD 6548N 1.09 ns 1.07 ns -1.65% (-4.48% to +1.77%)
ntt-forward-22 arm64 Neoverse-V2 3.74 ms 3.73 ms -0.12% (-2.00% to +11.33%)
ntt-forward-22 x86-64 INTEL(R) XEON(R) GOLD 6548N 2.29 ms 2.25 ms -2.60% (-4.24% to +1.48%)
transpose-64bytes arm64 Neoverse-V2 12.00 ns 12.00 ns -0.02% (-0.02% to +0.03%)
transpose-64bytes x86-64 INTEL(R) XEON(R) GOLD 6548N 0.86 ns 0.85 ns -1.61% (-2.43% to +2.98%)
transpose-64x64 arm64 Neoverse-V2 96.40 ns 96.40 ns +0.03% (-0.11% to +0.11%)
transpose-64x64 x86-64 INTEL(R) XEON(R) GOLD 6548N 74.13 ns 73.54 ns -0.79% (-1.88% to +0.38%)

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

Peak memory

benchmark runner CPU base this PR change
aggregate-leanxmss-100-2to1-1thread-first arm64 Neoverse-V2 1780.58 MiB 1780.88 MiB +0.02% (+0.00% to +0.03%)
aggregate-leanxmss-100-2to1-1thread-first x86-64 INTEL(R) XEON(R) GOLD 6548N 1174.59 MiB 1174.34 MiB -0.02% (-0.17% to +0.34%)
aggregate-leanxmss-100-2to1-1thread-node arm64 Neoverse-V2 1780.83 MiB 1781.04 MiB +0.01% (-0.00% to +0.03%)
aggregate-leanxmss-100-2to1-1thread-node x86-64 INTEL(R) XEON(R) GOLD 6548N 1174.59 MiB 1174.34 MiB -0.02% (-0.17% to +0.34%)
aggregate-leanxmss-100-2to1-4thread-first arm64 Neoverse-V2 1832.42 MiB 1832.71 MiB +0.04% (-0.12% to +0.08%)
aggregate-leanxmss-100-2to1-4thread-first x86-64 INTEL(R) XEON(R) GOLD 6548N 1205.52 MiB 1203.38 MiB -0.06% (-0.60% to +0.49%)
aggregate-leanxmss-100-2to1-4thread-node arm64 Neoverse-V2 1834.05 MiB 1834.21 MiB +0.00% (-0.09% to +0.13%)
aggregate-leanxmss-100-2to1-4thread-node x86-64 INTEL(R) XEON(R) GOLD 6548N 1213.31 MiB 1211.57 MiB -0.17% (-0.23% to +0.47%)
aggregate-leanxmss-100-2to1-8thread-first arm64 Neoverse-V2 1871.91 MiB 1872.95 MiB +0.12% (-0.05% to +0.20%)
aggregate-leanxmss-100-2to1-8thread-first x86-64 INTEL(R) XEON(R) GOLD 6548N 1188.27 MiB 1188.77 MiB -0.07% (-0.35% to +0.25%)
aggregate-leanxmss-100-2to1-8thread-node arm64 Neoverse-V2 1875.51 MiB 1876.07 MiB +0.01% (-0.13% to +0.22%)
aggregate-leanxmss-100-2to1-8thread-node x86-64 INTEL(R) XEON(R) GOLD 6548N 1206.74 MiB 1202.84 MiB -0.24% (-0.84% to +0.22%)
aggregate-leanxmss-100-2to1-first arm64 Neoverse-V2 1949.92 MiB 1945.16 MiB -0.10% (-0.32% to +0.38%)
aggregate-leanxmss-100-2to1-first x86-64 INTEL(R) XEON(R) GOLD 6548N 1297.88 MiB 1292.71 MiB +0.06% (-0.54% to +0.61%)
aggregate-leanxmss-100-2to1-node arm64 Neoverse-V2 1973.16 MiB 1977.49 MiB +0.03% (-0.03% to +0.26%)
aggregate-leanxmss-100-2to1-node x86-64 INTEL(R) XEON(R) GOLD 6548N 1375.98 MiB 1365.02 MiB -0.80% (-1.51% to +0.11%)
aggregate-leanxmss-100-4to1-1thread-first arm64 Neoverse-V2 2266.72 MiB 2266.84 MiB +0.01% (+0.00% to +0.89%)
aggregate-leanxmss-100-4to1-1thread-first x86-64 INTEL(R) XEON(R) GOLD 6548N 1454.62 MiB 1454.62 MiB +0.14% (-0.29% to +0.16%)
aggregate-leanxmss-100-4to1-1thread-node arm64 Neoverse-V2 2267.22 MiB 2267.32 MiB +0.01% (-0.08% to +0.80%)
aggregate-leanxmss-100-4to1-1thread-node x86-64 INTEL(R) XEON(R) GOLD 6548N 1458.37 MiB 1458.62 MiB +0.00% (-0.15% to +0.02%)
aggregate-leanxmss-100-4to1-4thread-first arm64 Neoverse-V2 2318.64 MiB 2320.01 MiB +0.10% (-0.07% to +0.20%)
aggregate-leanxmss-100-4to1-4thread-first x86-64 INTEL(R) XEON(R) GOLD 6548N 1492.04 MiB 1488.60 MiB -0.24% (-0.50% to +0.16%)
aggregate-leanxmss-100-4to1-4thread-node arm64 Neoverse-V2 2320.58 MiB 2320.82 MiB +0.09% (-0.08% to +0.17%)
aggregate-leanxmss-100-4to1-4thread-node x86-64 INTEL(R) XEON(R) GOLD 6548N 1503.96 MiB 1501.11 MiB -0.03% (-0.47% to +0.15%)
aggregate-leanxmss-100-4to1-8thread-first arm64 Neoverse-V2 2360.95 MiB 2363.79 MiB +0.08% (-0.07% to +0.23%)
aggregate-leanxmss-100-4to1-8thread-first x86-64 INTEL(R) XEON(R) GOLD 6548N 1194.43 MiB 1192.84 MiB -0.25% (-0.37% to +0.18%)
aggregate-leanxmss-100-4to1-8thread-node arm64 Neoverse-V2 2364.25 MiB 2366.73 MiB +0.08% (-0.06% to +0.21%)
aggregate-leanxmss-100-4to1-8thread-node x86-64 INTEL(R) XEON(R) GOLD 6548N 1216.32 MiB 1215.88 MiB -0.05% (-0.55% to +0.56%)
aggregate-leanxmss-100-4to1-first arm64 Neoverse-V2 2443.93 MiB 2445.98 MiB +0.08% (-0.17% to +0.56%)
aggregate-leanxmss-100-4to1-first x86-64 INTEL(R) XEON(R) GOLD 6548N 1319.28 MiB 1317.80 MiB +0.05% (-0.28% to +0.24%)
aggregate-leanxmss-100-4to1-node arm64 Neoverse-V2 2466.38 MiB 2466.49 MiB +0.03% (-0.29% to +0.26%)
aggregate-leanxmss-100-4to1-node x86-64 INTEL(R) XEON(R) GOLD 6548N 1389.39 MiB 1387.18 MiB -0.16% (-1.35% to +0.73%)
falcon-7 arm64 Neoverse-V2 5753.73 MiB 5753.56 MiB -0.04% (-0.07% to +0.10%)
falcon-7 x86-64 INTEL(R) XEON(R) GOLD 6548N 3211.60 MiB 3207.34 MiB -0.03% (-0.40% to +0.07%)
fibonacci-asm-2000000 arm64 Neoverse-V2 9072.76 MiB 9071.52 MiB -0.02% (-0.10% to +0.02%)
fibonacci-asm-2000000 x86-64 INTEL(R) XEON(R) GOLD 6548N 4231.27 MiB 4233.72 MiB +0.00% (-0.06% to +0.07%)
hash-50000 arm64 Neoverse-V2 5764.96 MiB 5772.72 MiB +0.15% (-0.20% to +0.20%)
hash-50000 x86-64 INTEL(R) XEON(R) GOLD 6548N 3046.19 MiB 3046.69 MiB +0.00% (-0.15% to +0.18%)
leansphincs-26 arm64 Neoverse-V2 1982.20 MiB 1982.37 MiB +0.01% (-0.30% to +0.19%)
leansphincs-26 x86-64 INTEL(R) XEON(R) GOLD 6548N 1023.48 MiB 1021.29 MiB -0.19% (-0.40% to +0.04%)
leanxmss-100 arm64 Neoverse-V2 1752.71 MiB 1752.42 MiB -0.12% (-0.27% to +0.39%)
leanxmss-100 x86-64 INTEL(R) XEON(R) GOLD 6548N 877.47 MiB 879.02 MiB +0.03% (-0.03% to +0.22%)
leanxmss-100-1thread arm64 Neoverse-V2 1592.56 MiB 1590.77 MiB +0.02% (-0.61% to +0.51%)
leanxmss-100-1thread x86-64 INTEL(R) XEON(R) GOLD 6548N 990.37 MiB 990.37 MiB +0.02% (-0.38% to +0.23%)
leanxmss-100-4thread arm64 Neoverse-V2 1650.68 MiB 1653.06 MiB +0.14% (+0.00% to +0.22%)
leanxmss-100-4thread x86-64 INTEL(R) XEON(R) GOLD 6548N 1000.71 MiB 1000.76 MiB +0.00% (-0.17% to +0.03%)
leanxmss-100-8thread arm64 Neoverse-V2 1687.03 MiB 1689.93 MiB +0.10% (-0.16% to +0.27%)
leanxmss-100-8thread x86-64 INTEL(R) XEON(R) GOLD 6548N 778.32 MiB 778.42 MiB +0.00% (-0.23% to +0.28%)
shielded-258 arm64 Neoverse-V2 8311.31 MiB 8295.73 MiB -0.14% (-0.39% to +0.04%)
shielded-258 x86-64 INTEL(R) XEON(R) GOLD 6548N 4264.79 MiB 4264.87 MiB +0.02% (-0.12% to +0.09%)
stateproof-5 arm64 Neoverse-V2 12496.46 MiB 12491.38 MiB -0.00% (-0.07% to +0.02%)
stateproof-5 x86-64 INTEL(R) XEON(R) GOLD 6548N 6175.17 MiB 6173.42 MiB -0.00% (-0.06% to +0.03%)

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.27 µs 27.27 µs +0.00% (+0.00% to +0.00%)
aggregate-leanxmss-100-2to1-4thread-first arm64 Neoverse-V2 23.44 µs 23.44 µs +0.00% (+0.00% to +0.00%)
aggregate-leanxmss-100-2to1-4thread-first x86-64 INTEL(R) XEON(R) GOLD 6548N 23.48 µs 23.48 µs +0.00% (+0.00% to +0.00%)
aggregate-leanxmss-100-2to1-4thread-node arm64 Neoverse-V2 27.33 µs 27.33 µs +0.00% (+0.00% to +0.00%)
aggregate-leanxmss-100-2to1-4thread-node x86-64 INTEL(R) XEON(R) GOLD 6548N 27.37 µs 27.37 µs +0.00% (+0.00% to +0.00%)
aggregate-leanxmss-100-2to1-8thread-first arm64 Neoverse-V2 23.55 µs 23.55 µs +0.00% (+0.00% to +0.00%)
aggregate-leanxmss-100-2to1-8thread-first x86-64 INTEL(R) XEON(R) GOLD 6548N 23.60 µs 23.60 µs +0.00% (+0.00% to +0.00%)
aggregate-leanxmss-100-2to1-8thread-node arm64 Neoverse-V2 27.44 µs 27.44 µs +0.00% (+0.00% to +0.00%)
aggregate-leanxmss-100-2to1-8thread-node x86-64 INTEL(R) XEON(R) GOLD 6548N 27.49 µs 27.49 µs +0.00% (+0.00% to +0.00%)
aggregate-leanxmss-100-2to1-first arm64 Neoverse-V2 23.79 µs 23.79 µs +0.00% (-0.09% 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.09%)
aggregate-leanxmss-100-2to1-node arm64 Neoverse-V2 27.68 µs 27.68 µs +0.00% (-0.07% to +0.07%)
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.01%)
aggregate-leanxmss-100-4to1-1thread-first arm64 Neoverse-V2 41.83 µs 41.83 µ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.78 µs 49.78 µs +0.00% (+0.00% to +0.00%)
aggregate-leanxmss-100-4to1-4thread-first arm64 Neoverse-V2 41.95 µs 41.95 µs +0.00% (+0.00% to +0.00%)
aggregate-leanxmss-100-4to1-4thread-first x86-64 INTEL(R) XEON(R) GOLD 6548N 41.99 µs 41.99 µs +0.00% (+0.00% to +0.00%)
aggregate-leanxmss-100-4to1-4thread-node arm64 Neoverse-V2 49.85 µs 49.85 µs +0.00% (+0.00% to +0.00%)
aggregate-leanxmss-100-4to1-4thread-node x86-64 INTEL(R) XEON(R) GOLD 6548N 49.90 µs 49.90 µs +0.00% (+0.00% to +0.00%)
aggregate-leanxmss-100-4to1-8thread-first arm64 Neoverse-V2 42.09 µs 42.09 µs +0.00% (+0.00% to +0.00%)
aggregate-leanxmss-100-4to1-8thread-first x86-64 INTEL(R) XEON(R) GOLD 6548N 42.14 µs 42.14 µs +0.00% (+0.00% to +0.00%)
aggregate-leanxmss-100-4to1-8thread-node arm64 Neoverse-V2 50.00 µs 50.00 µs +0.00% (+0.00% to +0.00%)
aggregate-leanxmss-100-4to1-8thread-node x86-64 INTEL(R) XEON(R) GOLD 6548N 50.04 µs 50.04 µs +0.00% (+0.00% to +0.00%)
aggregate-leanxmss-100-4to1-first arm64 Neoverse-V2 42.36 µs 42.36 µs +0.00% (-0.05% 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.02% to +0.01%)
aggregate-leanxmss-100-4to1-node arm64 Neoverse-V2 50.26 µs 50.26 µs +0.00% (-0.05% to +0.00%)
aggregate-leanxmss-100-4to1-node x86-64 INTEL(R) XEON(R) GOLD 6548N 50.84 µs 50.84 µs +0.00% (-0.01% to +0.00%)
falcon-7 arm64 Neoverse-V2 15.83 µs 15.82 µs -0.01% (-0.03% to +0.03%)
falcon-7 x86-64 INTEL(R) XEON(R) GOLD 6548N 17.49 µs 17.49 µs +0.01% (-0.08% to +0.11%)
fibonacci-asm-2000000 arm64 Neoverse-V2 11.45 µs 11.45 µs +0.00% (-0.02% to +0.00%)
fibonacci-asm-2000000 x86-64 INTEL(R) XEON(R) GOLD 6548N 12.30 µs 12.30 µs +0.01% (+0.00% to +0.04%)
hash-50000 arm64 Neoverse-V2 16.81 µs 16.81 µs +0.00% (+0.00% to +0.01%)
hash-50000 x86-64 INTEL(R) XEON(R) GOLD 6548N 18.68 µs 18.67 µs -0.02% (-0.11% to +0.10%)
leansphincs-26 arm64 Neoverse-V2 25.51 µs 25.51 µs +0.00% (+0.00% to +0.00%)
leansphincs-26 x86-64 INTEL(R) XEON(R) GOLD 6548N 27.06 µs 27.06 µs -0.01% (-0.04% to +0.03%)
leanxmss-100 arm64 Neoverse-V2 26.14 µs 26.14 µs +0.00% (+0.00% to +0.00%)
leanxmss-100 x86-64 INTEL(R) XEON(R) GOLD 6548N 27.64 µs 27.64 µs -0.01% (-0.03% to +0.06%)
leanxmss-100-1thread arm64 Neoverse-V2 24.97 µs 24.97 µs +0.00% (+0.00% to +0.00%)
leanxmss-100-1thread x86-64 INTEL(R) XEON(R) GOLD 6548N 25.42 µs 25.42 µs +0.00% (+0.00% to +0.00%)
leanxmss-100-4thread arm64 Neoverse-V2 25.25 µs 25.25 µs +0.00% (+0.00% to +0.00%)
leanxmss-100-4thread x86-64 INTEL(R) XEON(R) GOLD 6548N 25.70 µs 25.70 µs +0.00% (+0.00% to +0.00%)
leanxmss-100-8thread arm64 Neoverse-V2 25.55 µs 25.55 µs +0.00% (+0.00% to +0.00%)
leanxmss-100-8thread x86-64 INTEL(R) XEON(R) GOLD 6548N 26.00 µs 26.00 µs +0.00% (+0.00% to +0.00%)
shielded-258 arm64 Neoverse-V2 45.20 µs 45.20 µs +0.00% (-0.00% to +0.00%)
shielded-258 x86-64 INTEL(R) XEON(R) GOLD 6548N 47.21 µs 47.21 µs +0.00% (-0.01% to +0.03%)
stateproof-5 arm64 Neoverse-V2 19.27 µs 19.28 µs +0.04% (-0.01% to +0.04%)
stateproof-5 x86-64 INTEL(R) XEON(R) GOLD 6548N 21.20 µs 21.20 µs +0.00% (-0.03% to +0.00%)

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 738.65 ms 738.64 ms -0.00% (-0.01% to +0.00%)
aggregate-leanxmss-100-2to1-4thread-first x86-64 INTEL(R) XEON(R) GOLD 6548N 373.34 ms 373.34 ms -0.01% (-0.02% to +0.01%)
aggregate-leanxmss-100-2to1-4thread-node arm64 Neoverse-V2 738.30 ms 738.31 ms +0.00% (-0.02% to +0.01%)
aggregate-leanxmss-100-2to1-4thread-node x86-64 INTEL(R) XEON(R) GOLD 6548N 373.01 ms 373.00 ms +0.01% (-0.01% to +0.02%)
aggregate-leanxmss-100-2to1-8thread-first arm64 Neoverse-V2 738.53 ms 738.53 ms -0.00% (-0.01% to +0.01%)
aggregate-leanxmss-100-2to1-8thread-first x86-64 INTEL(R) XEON(R) GOLD 6548N 373.37 ms 373.34 ms -0.01% (-0.03% to -0.00%)
aggregate-leanxmss-100-2to1-8thread-node arm64 Neoverse-V2 738.24 ms 738.24 ms +0.00% (-0.01% to +0.00%)
aggregate-leanxmss-100-2to1-8thread-node x86-64 INTEL(R) XEON(R) GOLD 6548N 373.01 ms 373.02 ms +0.00% (-0.01% to +0.01%)
aggregate-leanxmss-100-2to1-first arm64 Neoverse-V2 738.82 ms 738.83 ms +0.00% (-0.00% to +0.01%)
aggregate-leanxmss-100-2to1-first x86-64 INTEL(R) XEON(R) GOLD 6548N 373.87 ms 373.83 ms -0.02% (-0.07% to +0.05%)
aggregate-leanxmss-100-2to1-node arm64 Neoverse-V2 738.42 ms 738.36 ms +0.01% (-0.06% to +0.05%)
aggregate-leanxmss-100-2to1-node x86-64 INTEL(R) XEON(R) GOLD 6548N 373.56 ms 373.60 ms +0.01% (+0.01% to +0.09%)
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 1.48 s 1.48 s -0.00% (-0.01% to +0.00%)
aggregate-leanxmss-100-4to1-4thread-first x86-64 INTEL(R) XEON(R) GOLD 6548N 746.31 ms 746.31 ms +0.00% (-0.00% to +0.01%)
aggregate-leanxmss-100-4to1-4thread-node arm64 Neoverse-V2 1.48 s 1.48 s +0.00% (-0.00% to +0.00%)
aggregate-leanxmss-100-4to1-4thread-node x86-64 INTEL(R) XEON(R) GOLD 6548N 745.72 ms 745.72 ms +0.00% (-0.01% to +0.01%)
aggregate-leanxmss-100-4to1-8thread-first arm64 Neoverse-V2 1.48 s 1.48 s +0.00% (-0.01% to +0.00%)
aggregate-leanxmss-100-4to1-8thread-first x86-64 INTEL(R) XEON(R) GOLD 6548N 746.39 ms 746.40 ms +0.00% (+0.00% to +0.01%)
aggregate-leanxmss-100-4to1-8thread-node arm64 Neoverse-V2 1.48 s 1.48 s +0.00% (-0.00% to +0.01%)
aggregate-leanxmss-100-4to1-8thread-node x86-64 INTEL(R) XEON(R) GOLD 6548N 745.80 ms 745.82 ms +0.00% (-0.00% to +0.02%)
aggregate-leanxmss-100-4to1-first arm64 Neoverse-V2 1.48 s 1.48 s -0.00% (-0.01% to +0.00%)
aggregate-leanxmss-100-4to1-first x86-64 INTEL(R) XEON(R) GOLD 6548N 746.80 ms 747.03 ms +0.02% (-0.01% to +0.08%)
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.45 ms 746.48 ms +0.02% (-0.01% to +0.03%)
falcon-7 arm64 Neoverse-V2 5.43 s 5.43 s +0.00% (-0.00% to +0.00%)
falcon-7 x86-64 INTEL(R) XEON(R) GOLD 6548N 2.42 s 2.42 s +0.00% (-0.01% to +0.01%)
fibonacci-asm-2000000 arm64 Neoverse-V2 8.70 s 8.70 s +0.00% (-0.00% to +0.00%)
fibonacci-asm-2000000 x86-64 INTEL(R) XEON(R) GOLD 6548N 3.95 s 3.95 s +0.00% (-0.00% to +0.00%)
hash-50000 arm64 Neoverse-V2 5.45 s 5.45 s +0.00% (-0.00% to +0.00%)
hash-50000 x86-64 INTEL(R) XEON(R) GOLD 6548N 2.30 s 2.30 s -0.00% (-0.01% to +0.00%)
leansphincs-26 arm64 Neoverse-V2 1.72 s 1.72 s -0.00% (-0.01% to +0.00%)
leansphincs-26 x86-64 INTEL(R) XEON(R) GOLD 6548N 776.33 ms 776.33 ms +0.00% (+0.00% to +0.00%)
leanxmss-100 arm64 Neoverse-V2 1.48 s 1.48 s +0.00% (-0.01% to +0.01%)
leanxmss-100 x86-64 INTEL(R) XEON(R) GOLD 6548N 666.95 ms 666.94 ms -0.00% (-0.00% to +0.01%)
leanxmss-100-1thread arm64 Neoverse-V2 1.49 s 1.49 s +0.00% (+0.00% to +0.00%)
leanxmss-100-1thread x86-64 INTEL(R) XEON(R) GOLD 6548N 667.32 ms 667.32 ms +0.00% (+0.00% to +0.00%)
leanxmss-100-4thread arm64 Neoverse-V2 1.49 s 1.49 s -0.00% (-0.01% to +0.01%)
leanxmss-100-4thread x86-64 INTEL(R) XEON(R) GOLD 6548N 667.33 ms 667.29 ms -0.00% (-0.01% to +0.02%)
leanxmss-100-8thread arm64 Neoverse-V2 1.49 s 1.49 s -0.00% (-0.01% to +0.01%)
leanxmss-100-8thread x86-64 INTEL(R) XEON(R) GOLD 6548N 667.30 ms 667.28 ms -0.00% (-0.01% to +0.01%)
shielded-258 arm64 Neoverse-V2 7.89 s 7.89 s -0.00% (-0.00% to +0.00%)
shielded-258 x86-64 INTEL(R) XEON(R) GOLD 6548N 3.66 s 3.66 s -0.00% (-0.00% to +0.00%)
stateproof-5 arm64 Neoverse-V2 12.44 s 12.44 s -0.00% (-0.00% to +0.00%)
stateproof-5 x86-64 INTEL(R) XEON(R) GOLD 6548N 5.82 s 5.82 s +0.00% (-0.00% to +0.00%)

@kevaundray

Copy link
Copy Markdown
Collaborator Author

Normal PR benchmark37775824371, PR#561 final head299bcef05c0ca716bdfecd086ebdecb6484f76b2, merge78e2ea0cfc29cd99d9adb995fffebb0ea32518ca, basef52bd991c8623894e7b03a2e50bede6c248ea1ad. All46native jobs passed;90result cases,5alternating pairs percase. Negative percent is faster. Standard workflow results are separate from the instrumented controlled captures.

Architecture Case Unit Baseline median [min,max] PR median [min,max] Paired % median [min,max] Slower pairs
arm64 aggregate-leanxmss-100-2to1-1thread-first ms 1018.855 [1015.594,1020.189] 1008.951 [1007.522,1026.708] -0.919 [-1.101,+0.748] 2/5
arm64 aggregate-leanxmss-100-2to1-1thread-node ms 1067.469 [1065.855,1078.973] 1060.208 [1057.739,1072.168] -0.836 [-1.739,+0.592] 1/5
arm64 aggregate-leanxmss-100-2to1-4thread-first ms 281.088 [280.632,285.674] 278.203 [277.152,294.421] -1.091 [-2.615,+3.905] 1/5
arm64 aggregate-leanxmss-100-2to1-4thread-node ms 293.994 [293.914,304.645] 291.887 [290.519,308.667] -0.690 [-4.200,+4.688] 1/5
arm64 aggregate-leanxmss-100-2to1-8thread-first ms 167.529 [167.276,168.459] 165.948 [165.318,166.452] -1.170 [-1.490,-0.831] 0/5
arm64 aggregate-leanxmss-100-2to1-8thread-node ms 176.374 [175.848,178.490] 174.419 [174.061,174.693] -1.035 [-2.481,-0.953] 0/5
arm64 aggregate-leanxmss-100-2to1-first ms 107.747 [107.375,112.859] 106.956 [106.071,108.525] -1.233 [-5.815,+1.071] 1/5
arm64 aggregate-leanxmss-100-2to1-node ms 112.666 [111.990,113.869] 111.481 [111.109,115.174] -1.087 [-2.424,+2.843] 1/5
arm64 aggregate-leanxmss-100-4to1-1thread-first ms 2006.126 [2005.925,2169.325] 1983.723 [1977.971,2020.248] -1.117 [-8.821,+0.704] 1/5
arm64 aggregate-leanxmss-100-4to1-1thread-node ms 2187.203 [2177.354,2414.297] 2161.041 [2149.440,2200.150] -1.137 [-10.652,+0.220] 1/5
arm64 aggregate-leanxmss-100-4to1-4thread-first ms 555.461 [553.951,572.968] 553.126 [548.608,557.031] -1.138 [-2.807,-0.337] 0/5
arm64 aggregate-leanxmss-100-4to1-4thread-node ms 604.637 [602.507,625.728] 608.591 [598.874,613.942] -0.603 [-2.739,+1.668] 2/5
arm64 aggregate-leanxmss-100-4to1-8thread-first ms 319.263 [318.161,319.863] 315.434 [313.971,316.903] -1.199 [-1.317,-0.925] 0/5
arm64 aggregate-leanxmss-100-4to1-8thread-node ms 346.690 [344.581,348.882] 341.213 [340.922,343.461] -1.165 [-2.281,-0.934] 0/5
arm64 aggregate-leanxmss-100-4to1-first ms 203.973 [203.328,206.780] 202.235 [201.772,205.187] -0.765 [-2.311,+0.595] 1/5
arm64 aggregate-leanxmss-100-4to1-node ms 222.074 [221.017,224.195] 220.795 [219.308,224.368] -1.021 [-1.517,+1.516] 1/5
arm64 blake2s-batch ns/op 2.919 [2.911,2.923] 2.910 [2.896,2.919] -0.069 [-0.924,+0.275] 1/5
arm64 f192-inv ns/op 244.905 [244.837,245.214] 245.135 [244.933,245.199] +0.094 [-0.042,+0.131] 3/5
arm64 f192-mul-latency ns/op 8.020 [8.004,8.045] 8.011 [7.990,8.040] +0.087 [-0.684,+0.425] 3/5
arm64 f192-mul-throughput ns/op 2.942 [2.942,2.943] 2.942 [2.942,2.943] +0.000 [+0.000,+0.034] 1/5
arm64 f192-mul4-latency ns/op 13.103 [12.676,13.217] 12.695 [12.687,13.093] -3.114 [-3.799,+3.290] 1/5
arm64 f192-mul4-throughput ns/op 10.763 [10.750,10.770] 10.760 [10.753,10.772] +0.028 [-0.149,+0.093] 3/5
arm64 f192-square ns/op 1.700 [1.699,1.701] 1.700 [1.699,1.702] +0.059 [+0.000,+0.059] 3/5
arm64 f64-inv ns/op 211.507 [211.433,211.786] 211.534 [211.502,211.660] +0.018 [-0.119,+0.107] 3/5
arm64 f64-mul ns/op 0.559 [0.559,0.560] 0.560 [0.559,0.561] +0.179 [+0.000,+0.358] 3/5
arm64 f64-square ns/op 0.552 [0.546,0.552] 0.547 [0.546,0.553] -0.906 [-1.087,+1.282] 1/5
arm64 falcon-7 ms 579.532 [576.748,581.336] 580.286 [572.878,582.581] +0.214 [-1.388,+0.582] 4/5
arm64 fibonacci-asm-2000000 ms 888.889 [879.676,898.405] 875.851 [871.842,884.320] -1.246 [-1.798,-0.542] 0/5
arm64 flock-add-wrapping-batch-262144 ms 16.203 [16.020,19.799] 16.031 [15.833,16.354] -2.282 [-18.277,+1.764] 1/5
arm64 flock-hash-batch-262144 ms 848.450 [840.268,849.587] 835.864 [829.739,840.720] -1.253 [-2.048,-1.044] 0/5
arm64 flock-mul-widening-batch-262144 ms 365.653 [365.048,366.438] 361.119 [360.783,369.623] -1.240 [-1.543,+1.159] 1/5
arm64 flock-mul-wrapping-batch-262144 ms 205.060 [204.614,207.278] 202.278 [201.815,202.791] -1.368 [-2.412,-0.949] 0/5
arm64 hash-50000 ms 549.877 [548.930,551.685] 544.510 [543.126,549.884] -1.118 [-1.214,-0.188] 0/5
arm64 leansphincs-26 ms 194.260 [192.987,194.676] 192.770 [191.498,194.435] -0.924 [-1.422,+0.278] 1/5
arm64 leanxmss-100 ms 177.054 [176.327,178.045] 175.657 [174.893,180.431] -0.980 [-1.502,+2.327] 2/5
arm64 leanxmss-100-1thread ms 1932.839 [1923.314,2093.563] 1917.095 [1909.186,1968.341] -1.224 [-6.160,-0.323] 0/5
arm64 leanxmss-100-4thread ms 517.157 [516.478,518.936] 513.682 [512.188,518.522] -0.826 [-0.884,+0.185] 1/5
arm64 leanxmss-100-8thread ms 288.447 [287.944,289.096] 285.503 [284.664,285.994] -1.073 [-1.311,-0.814] 0/5
arm64 ntt-forward-22 ns/op 3739331.500 [3720273.750,3812460.000] 3734999.000 [3724880.250,4141662.250] -0.116 [-1.999,+11.327] 2/5
arm64 pcs-commit-22 ms 7.378 [7.251,8.644] 7.318 [7.217,7.751] -2.182 [-12.930,+6.902] 2/5
arm64 pcs-open-22 ms 16.406 [16.248,16.820] 15.810 [15.707,16.007] -3.907 [-6.003,-1.484] 0/5
arm64 shielded-258 ms 791.125 [789.176,975.965] 785.770 [781.212,962.018] -0.768 [-1.429,+0.452] 1/5
arm64 stateproof-5 ms 1245.856 [1245.736,1265.314] 1232.867 [1230.934,1234.576] -1.045 [-2.717,-0.896] 0/5
arm64 transpose-64bytes ns/op 12.002 [12.001,12.003] 12.000 [12.000,12.007] -0.017 [-0.025,+0.033] 2/5
arm64 transpose-64x64 ns/op 96.397 [96.334,96.452] 96.404 [96.343,96.503] +0.026 [-0.113,+0.110] 4/5
x86-64 aggregate-leanxmss-100-2to1-1thread-first ms 564.358 [557.648,583.581] 558.102 [557.503,572.097] -0.489 [-4.440,+2.591] 1/5
x86-64 aggregate-leanxmss-100-2to1-1thread-node ms 592.670 [590.008,600.785] 589.047 [587.399,592.849] -0.714 [-1.954,+0.030] 1/5
x86-64 aggregate-leanxmss-100-2to1-4thread-first ms 187.615 [187.434,190.834] 189.036 [186.519,196.307] +0.011 [-0.942,+4.633] 3/5
x86-64 aggregate-leanxmss-100-2to1-4thread-node ms 198.308 [196.772,198.807] 196.092 [195.843,217.220] -0.589 [-1.462,+9.357] 1/5
x86-64 aggregate-leanxmss-100-2to1-8thread-first ms 124.532 [121.634,141.175] 123.540 [122.197,133.799] -1.045 [-7.301,+1.134] 2/5
x86-64 aggregate-leanxmss-100-2to1-8thread-node ms 131.798 [127.110,138.269] 128.307 [127.318,149.126] -0.488 [-7.205,+8.017] 2/5
x86-64 aggregate-leanxmss-100-2to1-first ms 83.463 [82.256,85.530] 84.513 [83.676,85.070] +0.319 [-1.642,+2.743] 3/5
x86-64 aggregate-leanxmss-100-2to1-node ms 87.403 [86.597,88.296] 86.308 [84.900,88.010] -2.252 [-2.689,+1.631] 2/5
x86-64 aggregate-leanxmss-100-4to1-1thread-first ms 1175.525 [1174.009,1180.924] 1173.596 [1172.752,1175.835] -0.149 [-0.641,+0.152] 1/5
x86-64 aggregate-leanxmss-100-4to1-1thread-node ms 1279.827 [1275.117,1282.057] 1276.679 [1273.579,1278.455] -0.318 [-0.544,+0.262] 1/5
x86-64 aggregate-leanxmss-100-4to1-4thread-first ms 365.815 [365.215,367.946] 363.951 [362.954,366.658] -0.619 [-1.086,+0.090] 1/5
x86-64 aggregate-leanxmss-100-4to1-4thread-node ms 398.471 [393.313,400.317] 394.919 [393.564,401.730] -0.971 [-1.348,+2.140] 1/5
x86-64 aggregate-leanxmss-100-4to1-8thread-first ms 224.038 [221.815,226.310] 223.359 [221.005,223.770] -0.206 [-2.344,+0.713] 2/5
x86-64 aggregate-leanxmss-100-4to1-8thread-node ms 240.259 [238.854,249.875] 241.382 [238.811,241.784] -0.025 [-3.238,+1.059] 2/5
x86-64 aggregate-leanxmss-100-4to1-first ms 156.661 [155.195,156.880] 156.826 [154.404,157.378] -0.035 [-1.209,+0.457] 2/5
x86-64 aggregate-leanxmss-100-4to1-node ms 165.289 [164.899,169.921] 166.069 [164.329,166.980] +0.499 [-2.783,+1.155] 3/5
x86-64 blake2s-batch ns/op 0.795 [0.794,0.795] 0.795 [0.794,0.796] +0.126 [+0.000,+0.126] 3/5
x86-64 f192-inv ns/op 267.265 [266.029,268.140] 266.721 [266.481,268.575] -0.229 [-0.534,+0.957] 2/5
x86-64 f192-mul-latency ns/op 7.591 [7.559,7.606] 7.580 [7.570,7.613] +0.237 [-0.473,+0.278] 4/5
x86-64 f192-mul-throughput ns/op 4.488 [4.447,4.524] 4.493 [4.462,4.506] -0.579 [-1.042,+1.034] 2/5
x86-64 f192-mul4-latency ns/op 10.168 [10.155,10.197] 10.174 [10.134,10.252] -0.207 [-0.334,+0.896] 2/5
x86-64 f192-mul4-throughput ns/op 15.792 [15.666,15.857] 15.733 [15.693,15.762] -0.524 [-0.782,+0.389] 1/5
x86-64 f192-square ns/op 3.318 [3.287,3.382] 3.320 [3.312,3.340] +0.663 [-2.070,+0.818] 3/5
x86-64 f64-inv ns/op 238.959 [237.625,240.082] 238.774 [237.773,240.515] -0.189 [-0.768,+1.065] 2/5
x86-64 f64-mul ns/op 0.868 [0.866,0.883] 0.870 [0.868,0.877] +0.230 [-1.699,+1.153] 4/5
x86-64 f64-square ns/op 1.090 [1.073,1.117] 1.072 [1.067,1.092] -1.651 [-4.476,+1.771] 2/5
x86-64 falcon-7 ms 336.188 [330.630,340.518] 331.621 [329.496,336.439] +0.075 [-3.237,+0.334] 3/5
x86-64 fibonacci-asm-2000000 ms 476.144 [474.211,488.748] 473.946 [471.604,476.332] -0.550 [-3.029,+0.297] 2/5
x86-64 flock-add-wrapping-batch-262144 ms 8.319 [8.215,8.377] 8.291 [8.217,9.348] +0.721 [-1.240,+11.592] 3/5
x86-64 flock-hash-batch-262144 ms 361.535 [344.569,366.786] 360.795 [360.152,365.785] +1.175 [-1.633,+4.546] 3/5
x86-64 flock-mul-widening-batch-262144 ms 158.539 [157.600,158.884] 158.401 [158.129,158.938] +0.069 [-0.475,+0.848] 3/5
x86-64 flock-mul-wrapping-batch-262144 ms 84.988 [84.784,85.395] 85.218 [84.722,85.355] +0.187 [-0.788,+0.512] 4/5
x86-64 hash-50000 ms 307.494 [305.907,308.105] 306.992 [306.507,308.509] +0.011 [-0.328,+0.665] 3/5
x86-64 leansphincs-26 ms 126.727 [126.470,128.418] 126.570 [126.145,127.338] -0.124 [-1.771,+0.687] 1/5
x86-64 leanxmss-100 ms 116.143 [115.687,116.610] 115.892 [115.546,116.951] -0.503 [-0.833,+1.093] 2/5
x86-64 leanxmss-100-1thread ms 1042.189 [1037.664,1048.810] 1041.146 [1039.831,1047.514] +0.028 [-0.286,+0.511] 3/5
x86-64 leanxmss-100-4thread ms 290.775 [289.771,291.728] 290.319 [289.305,291.053] -0.157 [-0.631,+0.195] 2/5
x86-64 leanxmss-100-8thread ms 183.011 [182.308,186.472] 183.987 [183.323,184.838] +0.569 [-1.333,+1.114] 3/5
x86-64 ntt-forward-22 ns/op 2290666.000 [2263774.250,2356463.500] 2248688.000 [2214131.500,2311741.750] -2.601 [-4.239,+1.479] 1/5
x86-64 pcs-commit-22 ms 3.962 [3.907,4.263] 3.936 [3.881,3.968] -1.762 [-6.912,+0.059] 1/5
x86-64 pcs-open-22 ms 14.728 [14.470,15.549] 14.694 [14.386,15.364] -1.191 [-4.969,+3.124] 2/5
x86-64 shielded-258 ms 448.013 [446.465,450.717] 450.384 [446.090,465.807] +0.406 [-0.221,+3.348] 4/5
x86-64 stateproof-5 ms 711.167 [703.626,713.334] 708.063 [707.483,710.084] -0.288 [-0.542,+0.631] 2/5
x86-64 transpose-64bytes ns/op 0.856 [0.840,0.870] 0.847 [0.841,0.865] -1.609 [-2.433,+2.976] 2/5
x86-64 transpose-64x64 ns/op 74.129 [73.611,74.907] 73.544 [73.381,73.966] -0.789 [-1.877,+0.381] 1/5

@kevaundray
kevaundray marked this pull request as ready for review October 8, 2026 12:35
@tcoratger
tcoratger merged commit cc99d2b into leanEthereum:riscv-exploration Oct 8, 2026
75 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