Skip to content

tree: a lone child of any size, absent places at every claim-set node - #627

Merged
kevaundray merged 36 commits into
leanEthereum:riscv-explorationfrom
kevaundray:kw/claim-set-lone-child
Oct 12, 2026
Merged

kevaundray merged 36 commits into
leanEthereum:riscv-explorationfrom
kevaundray:kw/claim-set-lone-child

Conversation

@kevaundray

@kevaundray kevaundray commented Oct 11, 2026 •

Copy link
Copy Markdown
Collaborator

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

Follow-up to #618 from the reviews of #614 and #618.

A lone child of any size within the capacity. Tree::aggregate took a lone child twice by the node of two, whose children's pool holds about one capacity's worth of items. So a set of more than about half the capacity (at Capacity::MAIN, one group of 40,000 claims) could not be narrowed or republished: the fill failed and surfaced as TreeError::Capacity. The fixtures missed it because their capacities fit in one chunk. Now every claim-set node takes from one child to its arity, as #618's large node already did: the places past its children verify a repeat of the first child and are absent, their sets read as the empty set's, so a lone child's set needs room in the pool once. The first level still verifies all its leaves.

Absent bits bound before the challenge. Each absent bit is held Boolean by a SPLIT row, and its packed words now enter the union's transcript instance beside the digests read, so every wire that decides which pool slots are read is fixed before (X, A) is drawn (the rule #626 applies to the runs' begin bits). Reading a child as empty only removes claims a declared claim could be selected from, so an absent place backs nothing.

Tests.

  • A tree of capacity 401 claims (nine chunks for a node of two): a lone child of 400 claims, which does not fit the pool twice, is republished and narrowed, and both roots verify.
  • Known answers against leanvm-tree-12 (tree: claim-set trees that anyone combines #614): a tree of outputs keeps its heights, statement layout and session tag but for the version; a one-tier claim-set tree keeps its heights, layout and tag, its nodes adding the absent places.
  • From tree: height-tiered claim-set trees, small proofs at heights of their own #618's review: a child stating the other tier's kind under a small node, the large node and a wrap, refused in the kind's rows; a present child of the large node read as absent, refused in the children's pool; a fake circuit at the large tier's heights stating a set no leaf published, under a wrap whose rows hold over a forged wide polynomial, refused at the root by the Wide claim; small tiers past the tree's (TreeError::SmallTier); two-tier trees differing only in the small tier refusing each other's proofs; a lone large proof taken by the large node.

Docs. The recursion chapter's absent children now cover every claim-set node, and the protocol chapter lists the recursion tag's parts.

Versions. Merges #626: the absent words join its instance after the digests read and before each pool's begin and selection words. Circuits and the union's instance change: LVMT 18, leanvm-tree-15 and leanvm-claim-union-3, above #626's 17, 14 and 2.

Upstream's red Test. a_tiered_first_level_and_union_stay_within_their_capacities (merged with #618) asserted that a lone four-claim child is large because taking it twice overflowed the small tier; here a lone child is taken once, so the test's lone child is the two-tier fixture's large pair, which is past the small tier's capacity and goes to the large node.

A signer set is the claims an aggregate publishes: XMSS groups of keys that signed one message at one leaf index, and SPHINCS (key, message) claims. Its digest is a chain of BLAKE2s compressions, one per item (a group header, a block of two keys, the end), each item's counter saying what it is, so a parse of the blocks is fixed by their counters and a recursion circuit can read a set of any shape in fixed rows.

- leanvm_guest::signers: SignerStream, the digest a guest writes one group and one key at a time.
- leanvm::SignerSet: the claims, their written form and digest (cross-checked against the guest's stream), the canonical form a root must publish (check, with main's capacity: fewer than 2^16 claims, at most 1,024 groups), from_claims, and bytes that refuse trailing data.
A node of a signer-set tree reads its children's sets from their digests, declares a set of their claims, and proves every declared claim is a selected child claim:

- Each side is a pool of items, one compression of a set's written form each; an item's kind is hinted bits that give its counter word, so a run's chain equals its set's digest only if it is read as that set.
- The children share one pool, a run each starting at a chunk boundary; a one-hot over the children, moved on at each chunk that begins a run, says which digest each run's end must hold. So the pools are fixed by the digests before any challenge.
- A challenge point drawn from a transcript of the digests and the packed selection bits checks the product of the selected child claims' factors against the declared claims': a claim's fingerprint carries its scheme, leaf index and message, so a key backs only a claim of its own group.

Builder: block (a compression whose counter and finalization words are a wire), d_to_halves (a digest's halves in one cast row), Compression::with_flags.
A tree's shape now chooses its semantics. A tree of outputs is as before: its root states its leaves' outputs in order. A signer-set tree (TreeShape::signers, a capacity) aggregates signer sets as leanVM main does:

- A leaf publishes a signer set: its output is the hash of its set's digest.
- Each tree proof declares a set, by default the union of its children's sets, or any covered part of it (Tree::aggregate_leaves, Tree::aggregate). Its rows run the union gadget, so every declared claim is one of its children's; duplicates and dropped claims are simply unselected.
- Anyone combines any proofs of the tree: there is a node circuit for every arity from two to the tree's largest, all of one height, and one child is taken twice. Aggregate pairs a proof with its set, for handing between provers.
- The root's verifier takes the set alone (Tree::verify_signers): canonical, within the capacity, stated by the root.

A child's kind is now its circuit's index: with more than two circuits the rows hold it to an index and split it, its bits selecting the circuit's block of the fixed polynomial, whose top now has as many variables as the index has bits. A dense claim's top is a list of coordinates. Positional and signer-set operations refuse the other semantics, and both the semantics and the capacity are in the session.

Versions: LVMT 14 to 15, leanvm-tree-11 to leanvm-tree-12. Docs: e-recursion.tex, Signer-set trees, and the circuit identity for several kinds.
The tree's union gadget no longer knows what a claim means. A claim set is groups of claims sharing a 6-word label, each with 4-word members; it is written and hashed as before (a header a group, two members a block, the end, each block's counter saying what it is), and the gadget's fingerprint tuple is (1, label, member). What labels and members mean is the programs': rec::tree::multiset defines the format, its digest and its canonical form (labels strictly increasing, members strictly increasing, groups non-empty).

- rec/tree/signers.rs becomes rec/tree/union.rs, over ClaimSet; its session tag is leanvm-claim-union-1.
- rec/tree/multiset.rs: ClaimSet, ClaimGroup, Claim, Capacity, ClaimSetError, the written form and digest, bytes.
- A test hands the rows an uncovered claim, which the product refuses.
Merges the generic union gadget and renames the tree's API to claim sets: TreeShape::claims, ClaimLeaf, Aggregate { proof, claims }, Tree::verify_claims, and the errors with them. The core keeps no signer types: a leaf program says what its claims mean and hands the tree a ClaimSet. The recursion annex describes the claim-set tree with labels and members.
leanEthereum#612 was merged at its head from before the restructure, so riscv-exploration re-added leanvm::SignerSet and leanvm_guest::signers, its guests wrote the old format, and the hosts imported two SignerSets and failed to compile (E0252).

This brings it to the restructured tree: the programs own their signer sets (leanxmss::signers and leansphincs::signers in the guest libraries, SignerSet in each host), the guests' main writes the digest through its library's Stream, the hosts' Batch holds the program's SignerSet, and the SDK keeps only blake2s_compress, the portable counterpart of precompile::blake2s_compress. leanvm::SignerSet and leanvm_guest::signers are removed again, and both ELFs are rebuilt.
The programs own their signer sets (leanEthereum#615); the core keeps only the scheme-agnostic claim sets.
…fake large circuit, small tiers; docs of the large node's children
@github-actions

github-actions Bot commented Oct 11, 2026 •

Copy link
Copy Markdown

Benchmarks: base against this PR, on one runner

35aa022 merged into its base, against the base b094d00: 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

Prover stages
benchmark threads runner base this PR change
hash-50000 16 x86-64 345.60 ms 338.06 ms -1.08% (-5.20% to +7.89%)
 ↳ build-witness 22.62 ms 22.00 ms -2.62% (-16.93% to +1.86%)
 ↳ commit 47.23 ms 45.03 ms -4.47% (-10.97% to +0.58%)
 ↳ execute-program 29.06 ms 29.43 ms +1.75% (+0.59% to +6.23%)
 ↳ flock-reductions 92.08 ms 88.00 ms -3.16% (-6.75% to +1.73%)
 ↳ pcs-open 118.94 ms 117.57 ms -0.11% (-6.16% to +18.66%)
 ↳ prove-bus 21.02 ms 20.94 ms -5.10% (-7.19% to +5.06%)
 ↳ prove-constraints 8.74 ms 8.44 ms -4.43% (-7.51% to +5.05%)

Flock

benchmark threads runner measure base this PR change
flock-alu-batch-262144 16 x86-64 Proving time 30.05 ms 29.31 ms -2.47% (-7.51% to -0.35%)

leanSPHINCS

benchmark threads runner measure base this PR change
leansphincs-26 16 x86-64 Proving time 133.76 ms 141.98 ms +4.94% (+3.40% to +9.49%)
Prover stages
benchmark threads runner base this PR change
leansphincs-26 16 arm64 179.39 ms 181.18 ms +1.00% (+0.17% to +3.61%)
 ↳ build-witness 5.68 ms 5.71 ms +0.77% (+0.25% to +3.91%)
 ↳ commit 23.62 ms 23.87 ms +1.03% (-0.01% to +7.87%)
 ↳ execute-program 11.92 ms 12.01 ms +1.48% (+0.75% to +7.94%)
 ↳ flock-reductions 61.99 ms 62.14 ms +0.39% (-0.41% to +5.88%)
 ↳ pcs-open 56.30 ms 56.72 ms +0.68% (-0.48% to +4.63%)
 ↳ prove-bus 15.09 ms 15.15 ms +0.47% (-0.31% to +7.33%)
 ↳ prove-constraints 4.24 ms 4.23 ms +0.61% (-1.60% to +3.34%)
leansphincs-26 16 x86-64 133.76 ms 141.98 ms +4.94% (+3.40% to +9.49%)
 ↳ build-witness 9.43 ms 9.63 ms +1.60% (+0.15% to +14.64%)
 ↳ commit 13.97 ms 14.86 ms +6.54% (-4.60% to +13.97%)
 ↳ execute-program 13.72 ms 13.80 ms +0.04% (-3.90% to +7.39%)
 ↳ flock-reductions 40.13 ms 41.83 ms +4.20% (-2.92% to +14.26%)
 ↳ pcs-open 39.48 ms 41.75 ms +5.61% (+3.15% to +16.04%)
 ↳ prove-bus 11.50 ms 12.23 ms +5.14% (-6.72% to +6.76%)
 ↳ prove-constraints 5.53 ms 5.51 ms +3.02% (-1.34% to +4.49%)

leanXMSS

benchmark threads runner measure base this PR change
aggregate-leanxmss-100-2to1-first 1 arm64 Proving time 969.47 ms 938.20 ms -3.16% (-4.40% to -2.99%)
aggregate-leanxmss-100-2to1-first 4 arm64 Proving time 271.88 ms 264.04 ms -2.88% (-3.52% to -2.36%)
aggregate-leanxmss-100-2to1-first 8 arm64 Proving time 157.91 ms 154.44 ms -2.19% (-2.95% to -1.66%)
aggregate-leanxmss-100-2to1-first 16 arm64 Proving time 103.66 ms 101.52 ms -2.07% (-2.68% to -0.73%)
aggregate-leanxmss-100-2to1-first 1 x86-64 Proving time 574.22 ms 565.05 ms -1.50% (-2.76% to -0.66%)
aggregate-leanxmss-100-2to1-first 4 x86-64 Proving time 185.40 ms 181.50 ms -2.03% (-2.21% to -0.60%)
aggregate-leanxmss-100-4to1-node 4 x86-64 Verifying time 4.58 ms 4.61 ms +1.25% (+0.49% to +2.87%)
leanxmss-100 4 x86-64 Verifying time 2.95 ms 2.99 ms +1.03% (+0.36% to +1.47%)
aggregate-leanxmss-100-2to1-first 1 arm64 Proof size 256,859 B 257,499 B +640 B (+0.25%)
aggregate-leanxmss-100-2to1-first 4 arm64 Proof size 256,859 B 257,499 B +640 B (+0.25%)
aggregate-leanxmss-100-2to1-first 8 arm64 Proof size 256,859 B 257,499 B +640 B (+0.25%)
aggregate-leanxmss-100-2to1-first 16 arm64 Proof size 256,859 B 257,499 B +640 B (+0.25%)
aggregate-leanxmss-100-2to1-first 1 x86-64 Proof size 256,859 B 257,499 B +640 B (+0.25%)
aggregate-leanxmss-100-2to1-first 4 x86-64 Proof size 256,859 B 257,499 B +640 B (+0.25%)
aggregate-leanxmss-100-2to1-first 8 x86-64 Proof size 256,859 B 257,499 B +640 B (+0.25%)
aggregate-leanxmss-100-2to1-first 16 x86-64 Proof size 256,859 B 257,499 B +640 B (+0.25%)
aggregate-leanxmss-100-2to1-node 1 arm64 Proof size 256,795 B 255,963 B -832 B (-0.32%)
aggregate-leanxmss-100-2to1-node 4 arm64 Proof size 256,795 B 255,963 B -832 B (-0.32%)
aggregate-leanxmss-100-2to1-node 8 arm64 Proof size 256,795 B 255,963 B -832 B (-0.32%)
aggregate-leanxmss-100-2to1-node 16 arm64 Proof size 256,795 B 255,963 B -832 B (-0.32%)
aggregate-leanxmss-100-2to1-node 1 x86-64 Proof size 256,795 B 255,963 B -832 B (-0.32%)
aggregate-leanxmss-100-2to1-node 4 x86-64 Proof size 256,795 B 255,963 B -832 B (-0.32%)
aggregate-leanxmss-100-2to1-node 8 x86-64 Proof size 256,795 B 255,963 B -832 B (-0.32%)
aggregate-leanxmss-100-2to1-node 16 x86-64 Proof size 256,795 B 255,963 B -832 B (-0.32%)
aggregate-leanxmss-100-4to1-first 1 arm64 Proof size 281,055 B 280,223 B -832 B (-0.30%)
aggregate-leanxmss-100-4to1-first 4 arm64 Proof size 281,055 B 280,223 B -832 B (-0.30%)
aggregate-leanxmss-100-4to1-first 8 arm64 Proof size 281,055 B 280,223 B -832 B (-0.30%)
aggregate-leanxmss-100-4to1-first 16 arm64 Proof size 281,055 B 280,223 B -832 B (-0.30%)
aggregate-leanxmss-100-4to1-first 1 x86-64 Proof size 281,055 B 280,223 B -832 B (-0.30%)
aggregate-leanxmss-100-4to1-first 4 x86-64 Proof size 281,055 B 280,223 B -832 B (-0.30%)
aggregate-leanxmss-100-4to1-first 8 x86-64 Proof size 281,055 B 280,223 B -832 B (-0.30%)
aggregate-leanxmss-100-4to1-first 16 x86-64 Proof size 281,055 B 280,223 B -832 B (-0.30%)
aggregate-leanxmss-100-4to1-node 1 arm64 Proof size 281,279 B 281,247 B -32 B (-0.01%)
aggregate-leanxmss-100-4to1-node 4 arm64 Proof size 281,279 B 281,247 B -32 B (-0.01%)
aggregate-leanxmss-100-4to1-node 8 arm64 Proof size 281,279 B 281,247 B -32 B (-0.01%)
aggregate-leanxmss-100-4to1-node 16 arm64 Proof size 281,279 B 281,247 B -32 B (-0.01%)
aggregate-leanxmss-100-4to1-node 1 x86-64 Proof size 281,279 B 281,247 B -32 B (-0.01%)
aggregate-leanxmss-100-4to1-node 4 x86-64 Proof size 281,279 B 281,247 B -32 B (-0.01%)
aggregate-leanxmss-100-4to1-node 8 x86-64 Proof size 281,279 B 281,247 B -32 B (-0.01%)
aggregate-leanxmss-100-4to1-node 16 x86-64 Proof size 281,279 B 281,247 B -32 B (-0.01%)
Prover stages
benchmark threads runner base this PR change
aggregate-leanxmss-100-2to1-first 1 arm64 969.47 ms 938.20 ms -3.16% (-4.40% to -2.99%)
 ↳ build-circuit 12.37 ms 12.32 ms -0.03% (-1.51% to +0.97%)
 ↳ prove-recursion 933.98 ms 902.74 ms -3.29% (-4.56% to -3.12%)
 ↳ reduce-claims 15.71 ms 15.80 ms +0.57% (-1.01% to +1.31%)
 ↳ reduce-in-rows 1.38 ms 1.38 ms -0.40% (-3.56% to +2.14%)
 ↳ verify 5.87 ms 5.87 ms +0.06% (-1.13% to +0.12%)
aggregate-leanxmss-100-2to1-first 4 arm64 271.88 ms 264.04 ms -2.88% (-3.52% to -2.36%)
 ↳ build-circuit 10.54 ms 10.54 ms +0.05% (-1.22% to +0.93%)
 ↳ prove-recursion 248.66 ms 240.75 ms -3.14% (-3.69% to -2.74%)
 ↳ reduce-claims 5.46 ms 5.53 ms +3.50% (-6.85% to +8.15%)
 ↳ reduce-in-rows 1.46 ms 1.42 ms -2.34% (-7.43% to -0.76%)
 ↳ verify 5.74 ms 5.75 ms +0.33% (+0.17% to +0.90%)
aggregate-leanxmss-100-2to1-first 8 arm64 157.91 ms 154.44 ms -2.19% (-2.95% to -1.66%)
 ↳ build-circuit 10.21 ms 10.16 ms +0.16% (-2.12% to +0.49%)
 ↳ prove-recursion 136.11 ms 132.62 ms -2.56% (-3.30% to -2.12%)
 ↳ reduce-claims 4.22 ms 4.19 ms +0.01% (-5.32% to +6.61%)
 ↳ reduce-in-rows 1.42 ms 1.42 ms +0.91% (+0.24% to +2.61%)
 ↳ verify 5.85 ms 5.84 ms -0.45% (-0.61% to +0.29%)
aggregate-leanxmss-100-2to1-first 16 arm64 103.66 ms 101.52 ms -2.07% (-2.68% to -0.73%)
 ↳ build-circuit 10.22 ms 10.20 ms +0.18% (-0.29% to +1.17%)
 ↳ prove-recursion 82.01 ms 79.54 ms -2.93% (-3.87% to -1.24%)
 ↳ reduce-claims 3.80 ms 4.06 ms +5.80% (+1.30% to +7.43%)
 ↳ reduce-in-rows 1.43 ms 1.42 ms +0.89% (-3.02% to +4.92%)
 ↳ verify 6.21 ms 6.25 ms +0.32% (-0.69% to +1.16%)
aggregate-leanxmss-100-2to1-first 1 x86-64 574.22 ms 565.05 ms -1.50% (-2.76% to -0.66%)
 ↳ build-circuit 14.21 ms 14.38 ms +1.57% (-5.38% to +2.82%)
 ↳ prove-recursion 532.66 ms 524.28 ms -1.68% (-2.72% to -0.73%)
 ↳ reduce-claims 18.57 ms 18.49 ms -0.70% (-3.96% to -0.12%)
 ↳ reduce-in-rows 2.17 ms 1.82 ms -13.39% (-21.80% to -9.10%)
 ↳ verify 6.40 ms 6.61 ms +3.13% (+0.27% to +4.48%)
aggregate-leanxmss-100-2to1-first 4 x86-64 185.40 ms 181.50 ms -2.03% (-2.21% to -0.60%)
 ↳ build-circuit 14.50 ms 14.43 ms -1.85% (-3.71% to +2.69%)
 ↳ prove-recursion 154.93 ms 152.39 ms -1.47% (-2.43% to -0.15%)
 ↳ reduce-claims 7.35 ms 6.77 ms -11.53% (-14.89% to +10.04%)
 ↳ reduce-in-rows 2.17 ms 1.77 ms -18.58% (-24.88% to -11.46%)
 ↳ verify 6.37 ms 6.34 ms -0.39% (-3.28% to +2.30%)
aggregate-leanxmss-100-2to1-first 8 x86-64 114.36 ms 114.24 ms -0.62% (-2.64% to +0.21%)
 ↳ build-circuit 13.80 ms 14.06 ms +1.88% (-2.37% to +2.82%)
 ↳ prove-recursion 86.47 ms 85.44 ms -0.86% (-1.40% to -0.39%)
 ↳ reduce-claims 5.57 ms 6.08 ms +9.06% (-24.16% to +10.54%)
 ↳ reduce-in-rows 2.21 ms 1.84 ms -16.75% (-19.06% to -8.28%)
 ↳ verify 6.37 ms 6.46 ms +1.59% (+0.96% to +1.72%)
aggregate-leanxmss-100-2to1-first 16 x86-64 95.27 ms 90.42 ms -1.26% (-10.43% to +3.15%)
 ↳ build-circuit 13.99 ms 13.74 ms -1.78% (-13.28% to +4.90%)
 ↳ prove-recursion 63.92 ms 62.17 ms -0.89% (-8.26% to +4.59%)
 ↳ reduce-claims 7.39 ms 5.81 ms -8.18% (-24.11% to +2.42%)
 ↳ reduce-in-rows 2.18 ms 1.87 ms -15.17% (-19.87% to -7.20%)
 ↳ verify 6.85 ms 6.82 ms -0.14% (-11.98% to +0.37%)
aggregate-leanxmss-100-2to1-node 1 x86-64 606.14 ms 599.94 ms -0.91% (-1.47% to -0.40%)
 ↳ build-circuit 15.51 ms 15.45 ms +1.20% (-6.57% to +4.79%)
 ↳ prove-recursion 548.17 ms 542.38 ms -1.10% (-1.15% to -0.58%)
 ↳ reduce-claims 34.47 ms 34.07 ms -0.30% (-2.89% to +0.46%)
 ↳ reduce-in-rows 2.17 ms 1.83 ms -13.38% (-21.03% to -12.25%)
aggregate-leanxmss-100-2to1-node 4 x86-64 193.11 ms 191.82 ms -0.39% (-1.51% to -0.02%)
 ↳ build-circuit 14.90 ms 15.06 ms +0.76% (-0.72% to +3.03%)
 ↳ prove-recursion 158.37 ms 157.25 ms -0.41% (-1.19% to +0.08%)
 ↳ reduce-claims 12.52 ms 12.74 ms +1.79% (-16.87% to +4.64%)
 ↳ reduce-in-rows 2.26 ms 1.93 ms -14.52% (-16.68% to -6.06%)
aggregate-leanxmss-100-2to1-node 8 x86-64 118.57 ms 117.62 ms -0.55% (-1.24% to +0.54%)
 ↳ build-circuit 14.34 ms 14.41 ms +0.49% (-2.45% to +3.60%)
 ↳ prove-recursion 87.40 ms 87.55 ms +0.07% (-0.68% to +0.29%)
 ↳ reduce-claims 9.67 ms 8.90 ms -1.72% (-9.49% to +4.24%)
 ↳ reduce-in-rows 2.10 ms 1.83 ms -12.79% (-18.56% to -7.97%)
aggregate-leanxmss-100-2to1-node 16 x86-64 95.34 ms 93.17 ms -2.27% (-8.79% to +1.80%)
 ↳ build-circuit 15.03 ms 14.64 ms -2.89% (-4.99% to +6.52%)
 ↳ prove-recursion 63.76 ms 62.68 ms -1.72% (-9.79% to +3.82%)
 ↳ reduce-claims 9.20 ms 8.72 ms -2.21% (-19.09% to +3.89%)
 ↳ reduce-in-rows 2.24 ms 1.91 ms -13.59% (-15.11% to -11.93%)
aggregate-leanxmss-100-4to1-first 1 x86-64 1.15 s 1.15 s +0.62% (-0.25% to +1.12%)
 ↳ build-circuit 33.37 ms 32.80 ms -0.61% (-5.72% to +0.18%)
 ↳ prove-recursion 1.07 s 1.08 s +0.79% (-0.09% to +1.28%)
 ↳ reduce-claims 26.46 ms 26.42 ms -0.31% (-1.01% to +1.17%)
 ↳ reduce-in-rows 4.52 ms 3.84 ms -14.44% (-16.92% to -12.65%)
 ↳ verify 12.48 ms 12.27 ms -1.65% (-3.82% to +0.15%)
aggregate-leanxmss-100-4to1-first 4 x86-64 312.38 ms 310.59 ms +0.31% (-2.75% to +1.70%)
 ↳ build-circuit 28.11 ms 27.34 ms -2.72% (-7.22% to -0.54%)
 ↳ prove-recursion 260.83 ms 260.93 ms +0.80% (-1.96% to +3.09%)
 ↳ reduce-claims 8.26 ms 8.14 ms -2.32% (-15.79% to +9.48%)
 ↳ reduce-in-rows 3.97 ms 3.49 ms -12.04% (-19.52% to -9.99%)
 ↳ verify 11.45 ms 10.70 ms -2.33% (-7.64% to +1.53%)
aggregate-leanxmss-100-4to1-first 8 x86-64 222.05 ms 222.22 ms +0.17% (-0.60% to +0.63%)
 ↳ build-circuit 31.36 ms 31.82 ms +1.47% (-0.26% to +3.30%)
 ↳ prove-recursion 165.53 ms 165.69 ms +0.41% (-0.50% to +0.88%)
 ↳ reduce-claims 7.34 ms 6.99 ms -2.23% (-10.06% to +6.24%)
 ↳ reduce-in-rows 4.60 ms 3.95 ms -12.98% (-16.44% to -7.41%)
 ↳ verify 12.54 ms 12.60 ms -0.06% (-0.61% to +1.24%)
aggregate-leanxmss-100-4to1-first 16 x86-64 169.22 ms 166.12 ms -1.83% (-6.68% to +2.88%)
 ↳ build-circuit 31.79 ms 31.58 ms -0.30% (-4.19% to +2.67%)
 ↳ prove-recursion 110.94 ms 109.96 ms -0.88% (-10.26% to +5.29%)
 ↳ reduce-claims 7.04 ms 7.81 ms +3.71% (-4.95% to +12.18%)
 ↳ reduce-in-rows 4.64 ms 3.96 ms -14.46% (-16.12% to -12.61%)
 ↳ verify 13.08 ms 13.15 ms -0.37% (-0.62% to +1.41%)
aggregate-leanxmss-100-4to1-node 1 x86-64 1.27 s 1.27 s -0.24% (-0.55% to +1.18%)
 ↳ build-circuit 42.58 ms 42.50 ms -0.35% (-9.00% to +7.25%)
 ↳ prove-recursion 1.13 s 1.13 s +0.03% (-0.50% to +0.75%)
 ↳ reduce-claims 66.98 ms 69.50 ms +0.32% (-1.23% to +8.05%)
 ↳ reduce-in-rows 4.55 ms 4.17 ms -7.70% (-16.12% to -4.88%)
aggregate-leanxmss-100-4to1-node 4 x86-64 343.91 ms 341.17 ms -0.80% (-2.21% to +0.62%)
 ↳ build-circuit 32.03 ms 31.83 ms -0.00% (-5.09% to +1.99%)
 ↳ prove-recursion 278.51 ms 277.20 ms -0.46% (-2.68% to +0.79%)
 ↳ reduce-claims 18.92 ms 18.92 ms -0.01% (-7.80% to +3.67%)
 ↳ reduce-in-rows 4.22 ms 3.61 ms -13.33% (-19.29% to -8.09%)
aggregate-leanxmss-100-4to1-node 8 x86-64 240.85 ms 239.65 ms -0.75% (-1.90% to +0.88%)
 ↳ build-circuit 36.74 ms 36.75 ms +0.88% (-4.87% to +3.09%)
 ↳ prove-recursion 173.74 ms 173.52 ms +0.03% (-1.02% to +0.32%)
 ↳ reduce-claims 14.23 ms 14.31 ms +0.51% (-14.46% to +8.29%)
 ↳ reduce-in-rows 4.85 ms 4.34 ms -10.48% (-12.37% to -8.62%)
aggregate-leanxmss-100-4to1-node 16 x86-64 174.54 ms 179.53 ms +0.46% (-3.02% to +7.07%)
 ↳ build-circuit 36.55 ms 37.03 ms +1.11% (+0.12% to +3.89%)
 ↳ prove-recursion 109.81 ms 114.51 ms +0.30% (-4.43% to +8.07%)
 ↳ reduce-claims 12.28 ms 12.57 ms +3.41% (-0.35% to +17.10%)
 ↳ reduce-in-rows 4.84 ms 4.25 ms -12.25% (-14.53% to -8.12%)
leanxmss-100 16 x86-64 131.53 ms 137.59 ms +5.59% (-0.76% to +9.67%)
 ↳ build-witness 8.47 ms 8.39 ms -0.38% (-1.69% to +0.86%)
 ↳ commit 13.62 ms 14.92 ms +7.52% (-7.90% to +16.06%)
 ↳ execute-program 11.92 ms 12.06 ms +3.65% (-2.20% to +7.89%)
 ↳ flock-reductions 38.42 ms 42.60 ms +8.26% (-3.65% to +13.50%)
 ↳ pcs-open 40.88 ms 42.89 ms +4.93% (+1.20% to +12.57%)
 ↳ prove-bus 10.94 ms 11.85 ms +2.69% (+1.40% to +11.88%)
 ↳ prove-constraints 4.91 ms 5.04 ms -0.52% (-1.15% to +7.80%)
Every result

BLAKE2s

benchmark threads runner CPU measure base this PR change
hash-50000 16 arm64 Neoverse-V2 Proving time 521.66 ms 521.00 ms -0.07% (-1.33% to +0.15%)
hash-50000 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Proving time 345.60 ms 338.06 ms -1.08% (-5.20% to +7.89%)
hash-50000 16 arm64 Neoverse-V2 Verifying time 3.18 ms 3.17 ms +0.37% (-1.06% to +0.47%)
hash-50000 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Verifying time 3.17 ms 3.16 ms -0.43% (-0.86% to +0.77%)
blake2s-batch 16 arm64 Neoverse-V2 Time per operation 2.90 ns 2.90 ns +0.10% (-0.27% to +0.28%)
blake2s-batch 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Time per operation 1.01 ns 1.09 ns +0.11% (-20.30% to +15.97%)
hash-50000 16 arm64 Neoverse-V2 Proof size 322,858 B 322,858 B 0 B (+0.00%)
hash-50000 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Proof size 322,858 B 322,858 B 0 B (+0.00%)
hash-50000 16 arm64 Neoverse-V2 Peak memory 4974.89 MiB 4979.20 MiB +0.11% (+0.05% to +0.14%)
hash-50000 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Peak memory 2189.86 MiB 2190.94 MiB +0.07% (-0.16% to +0.25%)
hash-50000 16 arm64 Neoverse-V2 Peak heap 4400.88 MiB 4400.83 MiB -0.00% (-0.00% to +0.00%)
hash-50000 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Peak heap 1917.39 MiB 1917.28 MiB -0.01% (-0.01% to +0.00%)
hash-50000 16 arm64 Neoverse-V2 Allocations 16,664 16,664 +0.00% (+0.00% to +0.00%)
hash-50000 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Allocations 17,313 17,316 +0.02% (-0.03% to +0.03%)
Prover stages
benchmark threads runner CPU base this PR change
hash-50000 16 arm64 Neoverse-V2 521.66 ms 521.00 ms -0.07% (-1.33% to +0.15%)
 ↳ build-witness 20.06 ms 20.03 ms +0.06% (-0.34% to +0.76%)
 ↳ commit 82.29 ms 82.21 ms +0.13% (-0.48% to +0.62%)
 ↳ execute-program 23.70 ms 23.77 ms +0.51% (-3.59% to +2.39%)
 ↳ flock-reductions 170.78 ms 170.61 ms -0.11% (-2.32% to +0.04%)
 ↳ pcs-open 187.06 ms 187.05 ms -0.11% (-1.54% to +0.05%)
 ↳ prove-bus 30.08 ms 30.05 ms +0.03% (-2.17% to +0.07%)
 ↳ prove-constraints 7.21 ms 7.15 ms -0.44% (-5.06% to +2.79%)
hash-50000 16 x86-64 INTEL(R) XEON(R) GOLD 6548N 345.60 ms 338.06 ms -1.08% (-5.20% to +7.89%)
 ↳ build-witness 22.62 ms 22.00 ms -2.62% (-16.93% to +1.86%)
 ↳ commit 47.23 ms 45.03 ms -4.47% (-10.97% to +0.58%)
 ↳ execute-program 29.06 ms 29.43 ms +1.75% (+0.59% to +6.23%)
 ↳ flock-reductions 92.08 ms 88.00 ms -3.16% (-6.75% to +1.73%)
 ↳ pcs-open 118.94 ms 117.57 ms -0.11% (-6.16% to +18.66%)
 ↳ prove-bus 21.02 ms 20.94 ms -5.10% (-7.19% to +5.06%)
 ↳ prove-constraints 8.74 ms 8.44 ms -4.43% (-7.51% to +5.05%)

Fibonacci

benchmark threads runner CPU measure base this PR change
fibonacci-asm-2000000 16 arm64 Neoverse-V2 Proving time 815.50 ms 815.25 ms -0.03% (-0.41% to +0.68%)
fibonacci-asm-2000000 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Proving time 516.30 ms 514.81 ms -1.25% (-3.43% to +3.39%)
fibonacci-asm-2000000 16 arm64 Neoverse-V2 Verifying time 3.22 ms 3.22 ms -0.07% (-0.58% to +0.29%)
fibonacci-asm-2000000 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Verifying time 3.20 ms 3.24 ms +0.66% (-1.60% to +4.39%)
fibonacci-asm-2000000 16 arm64 Neoverse-V2 Proof size 364,010 B 364,010 B 0 B (+0.00%)
fibonacci-asm-2000000 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Proof size 364,010 B 364,010 B 0 B (+0.00%)
fibonacci-asm-2000000 16 arm64 Neoverse-V2 Peak memory 7626.32 MiB 7624.02 MiB -0.02% (-0.06% to +0.08%)
fibonacci-asm-2000000 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Peak memory 3563.19 MiB 3564.76 MiB +0.05% (-0.03% to +0.06%)
fibonacci-asm-2000000 16 arm64 Neoverse-V2 Peak heap 7049.85 MiB 7049.87 MiB +0.00% (-0.00% to +0.00%)
fibonacci-asm-2000000 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Peak heap 3307.40 MiB 3307.40 MiB +0.00% (-0.00% to +0.00%)
fibonacci-asm-2000000 16 arm64 Neoverse-V2 Allocations 11,597 11,597 +0.00% (-0.01% to +0.00%)
fibonacci-asm-2000000 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Allocations 12,234 12,234 +0.00% (+0.00% to +0.00%)
Prover stages
benchmark threads runner CPU base this PR change
fibonacci-asm-2000000 16 arm64 Neoverse-V2 815.50 ms 815.25 ms -0.03% (-0.41% to +0.68%)
 ↳ build-witness 29.02 ms 29.12 ms +0.17% (-0.45% to +1.30%)
 ↳ commit 124.99 ms 125.54 ms +0.24% (-0.30% to +2.46%)
 ↳ execute-program 64.88 ms 64.30 ms -0.31% (-6.46% to +1.27%)
 ↳ flock-reductions 293.73 ms 293.74 ms +0.02% (-0.09% to +0.06%)
 ↳ pcs-open 233.07 ms 232.79 ms -0.10% (-1.32% to +2.91%)
 ↳ prove-bus 59.35 ms 59.33 ms -0.15% (-0.30% to +0.24%)
 ↳ prove-constraints 10.82 ms 10.75 ms -0.64% (-1.11% to +1.29%)
fibonacci-asm-2000000 16 x86-64 INTEL(R) XEON(R) GOLD 6548N 516.30 ms 514.81 ms -1.25% (-3.43% to +3.39%)
 ↳ build-witness 38.79 ms 39.15 ms +0.82% (-2.40% to +3.18%)
 ↳ commit 71.07 ms 71.01 ms -0.43% (-5.05% to +5.27%)
 ↳ execute-program 72.62 ms 73.66 ms +1.22% (-1.78% to +3.91%)
 ↳ flock-reductions 140.33 ms 142.11 ms +0.35% (-5.47% to +9.21%)
 ↳ pcs-open 141.72 ms 136.71 ms -3.93% (-5.17% to +2.62%)
 ↳ prove-bus 37.75 ms 37.95 ms +0.15% (-3.86% to +4.96%)
 ↳ prove-constraints 13.92 ms 13.93 ms -0.83% (-3.88% to +7.17%)

Field and transpose kernels

benchmark threads runner CPU measure base this PR change
f192-inv default arm64 Neoverse-V2 Time per operation 245.02 ns 245.08 ns +0.03% (+0.00% to +0.14%)
f192-inv default x86-64 INTEL(R) XEON(R) GOLD 6548N Time per operation 266.49 ns 266.74 ns +0.14% (-0.19% to +0.34%)
f192-mul-latency default arm64 Neoverse-V2 Time per operation 8.03 ns 8.02 ns -0.07% (-0.41% to +0.02%)
f192-mul-latency default x86-64 INTEL(R) XEON(R) GOLD 6548N Time per operation 7.54 ns 7.56 ns +0.21% (-0.44% to +0.73%)
f192-mul-throughput default arm64 Neoverse-V2 Time per operation 2.94 ns 2.94 ns +0.00% (-0.24% to +0.03%)
f192-mul-throughput default x86-64 INTEL(R) XEON(R) GOLD 6548N Time per operation 4.45 ns 4.46 ns +0.34% (-0.18% to +1.69%)
f192-mul4-latency default arm64 Neoverse-V2 Time per operation 13.08 ns 13.09 ns +0.14% (-2.94% to +3.15%)
f192-mul4-latency default x86-64 INTEL(R) XEON(R) GOLD 6548N Time per operation 10.14 ns 10.13 ns -0.03% (-0.14% to +0.18%)
f192-mul4-throughput default arm64 Neoverse-V2 Time per operation 10.77 ns 10.77 ns -0.02% (-0.10% to +0.13%)
f192-mul4-throughput default x86-64 INTEL(R) XEON(R) GOLD 6548N Time per operation 15.66 ns 15.68 ns +0.21% (-0.02% to +32.97%)
f192-square default arm64 Neoverse-V2 Time per operation 1.70 ns 1.70 ns +0.00% (-0.12% to +0.12%)
f192-square default x86-64 INTEL(R) XEON(R) GOLD 6548N Time per operation 3.33 ns 3.33 ns +0.06% (-0.51% to +0.21%)
f64-inv default arm64 Neoverse-V2 Time per operation 211.61 ns 211.62 ns -0.01% (-0.04% to +0.09%)
f64-inv default x86-64 INTEL(R) XEON(R) GOLD 6548N Time per operation 237.90 ns 238.56 ns +0.19% (+0.01% to +0.60%)
f64-mul default arm64 Neoverse-V2 Time per operation 0.56 ns 0.56 ns +0.00% (-0.53% to +0.36%)
f64-mul default x86-64 INTEL(R) XEON(R) GOLD 6548N Time per operation 0.87 ns 0.87 ns +0.12% (-0.35% to +0.35%)
f64-square default arm64 Neoverse-V2 Time per operation 0.55 ns 0.55 ns +0.18% (-1.27% to +0.91%)
f64-square default x86-64 INTEL(R) XEON(R) GOLD 6548N Time per operation 1.08 ns 1.09 ns +0.55% (-0.37% to +1.75%)
transpose-64bytes default arm64 Neoverse-V2 Time per operation 12.01 ns 12.00 ns +0.00% (-0.02% to +0.02%)
transpose-64bytes default x86-64 INTEL(R) XEON(R) GOLD 6548N Time per operation 0.84 ns 0.84 ns +0.00% (-0.59% to +1.19%)
transpose-64x64 default arm64 Neoverse-V2 Time per operation 96.43 ns 96.47 ns +0.01% (-0.07% to +0.08%)
transpose-64x64 default x86-64 INTEL(R) XEON(R) GOLD 6548N Time per operation 73.64 ns 73.43 ns -0.01% (-0.42% to +0.23%)

Flock

benchmark threads runner CPU measure base this PR change
flock-alu-batch-262144 16 arm64 Neoverse-V2 Proving time 51.10 ms 51.29 ms +0.54% (-0.11% to +6.24%)
flock-alu-batch-262144 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Proving time 30.05 ms 29.31 ms -2.47% (-7.51% to -0.35%)
flock-div-batch-262144 16 arm64 Neoverse-V2 Proving time 364.20 ms 366.25 ms +0.56% (+0.00% to +0.86%)
flock-div-batch-262144 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Proving time 170.13 ms 169.07 ms -0.31% (-5.75% to +1.00%)
flock-hash-batch-262144 16 arm64 Neoverse-V2 Proving time 762.25 ms 761.93 ms -0.11% (-2.36% to +0.30%)
flock-hash-batch-262144 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Proving time 367.45 ms 354.31 ms -0.11% (-5.27% to +1.39%)
flock-ld-batch-262144 16 arm64 Neoverse-V2 Proving time 15.75 ms 15.83 ms +0.54% (-0.76% to +1.04%)
flock-ld-batch-262144 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Proving time 10.01 ms 10.02 ms -0.62% (-1.74% to +5.02%)
flock-load-batch-262144 16 arm64 Neoverse-V2 Proving time 49.79 ms 49.99 ms +0.35% (-0.18% to +5.17%)
flock-load-batch-262144 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Proving time 29.17 ms 28.79 ms -2.51% (-6.97% to +2.72%)
flock-mul-batch-262144 16 arm64 Neoverse-V2 Proving time 186.60 ms 186.41 ms -0.12% (-0.30% to +0.32%)
flock-mul-batch-262144 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Proving time 94.93 ms 89.91 ms -5.01% (-6.66% to +3.58%)
flock-mulh-batch-262144 16 arm64 Neoverse-V2 Proving time 358.17 ms 358.65 ms -0.05% (-2.55% to +0.62%)
flock-mulh-batch-262144 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Proving time 169.29 ms 167.33 ms -0.40% (-2.96% to +6.85%)
flock-sd-batch-262144 16 arm64 Neoverse-V2 Proving time 16.37 ms 16.61 ms +1.89% (-15.14% to +23.08%)
flock-sd-batch-262144 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Proving time 10.15 ms 10.29 ms -0.33% (-5.06% to +5.75%)
flock-shift-batch-262144 16 arm64 Neoverse-V2 Proving time 50.07 ms 50.07 ms -0.33% (-0.77% to +1.03%)
flock-shift-batch-262144 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Proving time 28.24 ms 28.70 ms -1.90% (-13.70% to +3.82%)
flock-store-batch-262144 16 arm64 Neoverse-V2 Proving time 49.68 ms 50.28 ms +1.31% (-0.14% to +10.54%)
flock-store-batch-262144 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Proving time 28.92 ms 28.48 ms -2.78% (-5.04% to +3.10%)

PCS

benchmark threads runner CPU measure base this PR change
pcs-commit-22 16 arm64 Neoverse-V2 Proving time 7.31 ms 7.26 ms -1.20% (-6.26% to +4.26%)
pcs-commit-22 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Proving time 5.19 ms 5.18 ms -3.40% (-5.79% to +10.22%)
pcs-open-22 16 arm64 Neoverse-V2 Proving time 20.47 ms 20.39 ms -0.38% (-1.34% to +4.63%)
pcs-open-22 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Proving time 14.68 ms 14.91 ms -0.64% (-4.74% to +10.40%)
ntt-forward-22 16 arm64 Neoverse-V2 Time per operation 3.64 ms 3.64 ms +0.22% (-2.10% to +10.51%)
ntt-forward-22 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Time per operation 2.89 ms 2.84 ms -1.71% (-10.90% to +7.76%)

leanSPHINCS

benchmark threads runner CPU measure base this PR change
leansphincs-26 16 arm64 Neoverse-V2 Proving time 179.39 ms 181.18 ms +1.00% (+0.17% to +3.61%)
leansphincs-26 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Proving time 133.76 ms 141.98 ms +4.94% (+3.40% to +9.49%)
leansphincs-26 16 arm64 Neoverse-V2 Verifying time 3.25 ms 3.26 ms +0.60% (-0.34% to +2.04%)
leansphincs-26 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Verifying time 3.28 ms 3.24 ms -0.57% (-3.34% to +0.14%)
leansphincs-26 16 arm64 Neoverse-V2 Proof size 316,306 B 316,306 B 0 B (+0.00%)
leansphincs-26 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Proof size 316,306 B 316,306 B 0 B (+0.00%)
leansphincs-26 16 arm64 Neoverse-V2 Peak memory 1746.65 MiB 1742.90 MiB -0.01% (-0.22% to +0.14%)
leansphincs-26 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Peak memory 819.10 MiB 817.77 MiB -0.16% (-0.45% to +0.50%)
leansphincs-26 16 arm64 Neoverse-V2 Peak heap 1395.65 MiB 1395.65 MiB +0.00% (-0.00% to +0.01%)
leansphincs-26 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Peak heap 649.97 MiB 649.88 MiB -0.01% (-0.03% to +0.02%)
leansphincs-26 16 arm64 Neoverse-V2 Allocations 25,162 25,162 +0.00% (-0.03% to +0.00%)
leansphincs-26 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Allocations 25,861 25,860 -0.00% (-0.00% to +0.00%)
Prover stages
benchmark threads runner CPU base this PR change
leansphincs-26 16 arm64 Neoverse-V2 179.39 ms 181.18 ms +1.00% (+0.17% to +3.61%)
 ↳ build-witness 5.68 ms 5.71 ms +0.77% (+0.25% to +3.91%)
 ↳ commit 23.62 ms 23.87 ms +1.03% (-0.01% to +7.87%)
 ↳ execute-program 11.92 ms 12.01 ms +1.48% (+0.75% to +7.94%)
 ↳ flock-reductions 61.99 ms 62.14 ms +0.39% (-0.41% to +5.88%)
 ↳ pcs-open 56.30 ms 56.72 ms +0.68% (-0.48% to +4.63%)
 ↳ prove-bus 15.09 ms 15.15 ms +0.47% (-0.31% to +7.33%)
 ↳ prove-constraints 4.24 ms 4.23 ms +0.61% (-1.60% to +3.34%)
leansphincs-26 16 x86-64 INTEL(R) XEON(R) GOLD 6548N 133.76 ms 141.98 ms +4.94% (+3.40% to +9.49%)
 ↳ build-witness 9.43 ms 9.63 ms +1.60% (+0.15% to +14.64%)
 ↳ commit 13.97 ms 14.86 ms +6.54% (-4.60% to +13.97%)
 ↳ execute-program 13.72 ms 13.80 ms +0.04% (-3.90% to +7.39%)
 ↳ flock-reductions 40.13 ms 41.83 ms +4.20% (-2.92% to +14.26%)
 ↳ pcs-open 39.48 ms 41.75 ms +5.61% (+3.15% to +16.04%)
 ↳ prove-bus 11.50 ms 12.23 ms +5.14% (-6.72% to +6.76%)
 ↳ prove-constraints 5.53 ms 5.51 ms +3.02% (-1.34% to +4.49%)

leanXMSS

benchmark threads runner CPU measure base this PR change
aggregate-leanxmss-100-2to1-first 1 arm64 Neoverse-V2 Proving time 969.47 ms 938.20 ms -3.16% (-4.40% to -2.99%)
aggregate-leanxmss-100-2to1-first 4 arm64 Neoverse-V2 Proving time 271.88 ms 264.04 ms -2.88% (-3.52% to -2.36%)
aggregate-leanxmss-100-2to1-first 8 arm64 Neoverse-V2 Proving time 157.91 ms 154.44 ms -2.19% (-2.95% to -1.66%)
aggregate-leanxmss-100-2to1-first 16 arm64 Neoverse-V2 Proving time 103.66 ms 101.52 ms -2.07% (-2.68% to -0.73%)
aggregate-leanxmss-100-2to1-first 1 x86-64 INTEL(R) XEON(R) GOLD 6548N Proving time 574.22 ms 565.05 ms -1.50% (-2.76% to -0.66%)
aggregate-leanxmss-100-2to1-first 4 x86-64 INTEL(R) XEON(R) GOLD 6548N Proving time 185.40 ms 181.50 ms -2.03% (-2.21% to -0.60%)
aggregate-leanxmss-100-2to1-first 8 x86-64 INTEL(R) XEON(R) GOLD 6548N Proving time 114.36 ms 114.24 ms -0.62% (-2.64% to +0.21%)
aggregate-leanxmss-100-2to1-first 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Proving time 95.27 ms 90.42 ms -1.26% (-10.43% to +3.15%)
aggregate-leanxmss-100-2to1-node 1 arm64 Neoverse-V2 Proving time 996.24 ms 985.39 ms -0.93% (-1.14% to -0.78%)
aggregate-leanxmss-100-2to1-node 4 arm64 Neoverse-V2 Proving time 279.35 ms 277.38 ms -0.64% (-1.23% to -0.51%)
aggregate-leanxmss-100-2to1-node 8 arm64 Neoverse-V2 Proving time 162.89 ms 162.48 ms -0.38% (-0.89% to -0.16%)
aggregate-leanxmss-100-2to1-node 16 arm64 Neoverse-V2 Proving time 106.24 ms 105.61 ms -0.64% (-4.41% to -0.05%)
aggregate-leanxmss-100-2to1-node 1 x86-64 INTEL(R) XEON(R) GOLD 6548N Proving time 606.14 ms 599.94 ms -0.91% (-1.47% to -0.40%)
aggregate-leanxmss-100-2to1-node 4 x86-64 INTEL(R) XEON(R) GOLD 6548N Proving time 193.11 ms 191.82 ms -0.39% (-1.51% to -0.02%)
aggregate-leanxmss-100-2to1-node 8 x86-64 INTEL(R) XEON(R) GOLD 6548N Proving time 118.57 ms 117.62 ms -0.55% (-1.24% to +0.54%)
aggregate-leanxmss-100-2to1-node 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Proving time 95.34 ms 93.17 ms -2.27% (-8.79% to +1.80%)
aggregate-leanxmss-100-4to1-first 1 arm64 Neoverse-V2 Proving time 1.89 s 1.90 s +0.60% (+0.29% to +0.90%)
aggregate-leanxmss-100-4to1-first 4 arm64 Neoverse-V2 Proving time 521.35 ms 523.54 ms +0.34% (-4.98% to +0.67%)
aggregate-leanxmss-100-4to1-first 8 arm64 Neoverse-V2 Proving time 299.57 ms 301.29 ms +0.55% (+0.24% to +0.68%)
aggregate-leanxmss-100-4to1-first 16 arm64 Neoverse-V2 Proving time 190.89 ms 191.71 ms +0.63% (-0.23% to +2.48%)
aggregate-leanxmss-100-4to1-first 1 x86-64 INTEL(R) XEON(R) GOLD 6548N Proving time 1.15 s 1.15 s +0.62% (-0.25% to +1.12%)
aggregate-leanxmss-100-4to1-first 4 x86-64 INTEL(R) XEON(R) GOLD 6548N Proving time 312.38 ms 310.59 ms +0.31% (-2.75% to +1.70%)
aggregate-leanxmss-100-4to1-first 8 x86-64 INTEL(R) XEON(R) GOLD 6548N Proving time 222.05 ms 222.22 ms +0.17% (-0.60% to +0.63%)
aggregate-leanxmss-100-4to1-first 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Proving time 169.22 ms 166.12 ms -1.83% (-6.68% to +2.88%)
aggregate-leanxmss-100-4to1-node 1 arm64 Neoverse-V2 Proving time 2.06 s 2.05 s -0.35% (-0.72% to -0.34%)
aggregate-leanxmss-100-4to1-node 4 arm64 Neoverse-V2 Proving time 567.02 ms 565.05 ms -0.57% (-14.63% to -0.08%)
aggregate-leanxmss-100-4to1-node 8 arm64 Neoverse-V2 Proving time 324.88 ms 323.58 ms -0.45% (-0.58% to -0.01%)
aggregate-leanxmss-100-4to1-node 16 arm64 Neoverse-V2 Proving time 207.20 ms 206.58 ms -0.11% (-4.31% to +0.31%)
aggregate-leanxmss-100-4to1-node 1 x86-64 INTEL(R) XEON(R) GOLD 6548N Proving time 1.27 s 1.27 s -0.24% (-0.55% to +1.18%)
aggregate-leanxmss-100-4to1-node 4 x86-64 INTEL(R) XEON(R) GOLD 6548N Proving time 343.91 ms 341.17 ms -0.80% (-2.21% to +0.62%)
aggregate-leanxmss-100-4to1-node 8 x86-64 INTEL(R) XEON(R) GOLD 6548N Proving time 240.85 ms 239.65 ms -0.75% (-1.90% to +0.88%)
aggregate-leanxmss-100-4to1-node 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Proving time 174.54 ms 179.53 ms +0.46% (-3.02% to +7.07%)
leanxmss-100 1 arm64 Neoverse-V2 Proving time 1.77 s 1.78 s +0.19% (-0.29% to +0.30%)
leanxmss-100 4 arm64 Neoverse-V2 Proving time 475.85 ms 475.46 ms +0.10% (-0.21% to +0.39%)
leanxmss-100 8 arm64 Neoverse-V2 Proving time 266.12 ms 267.07 ms +0.07% (-2.92% to +2.73%)
leanxmss-100 16 arm64 Neoverse-V2 Proving time 166.23 ms 164.81 ms -1.07% (-1.58% to +1.26%)
leanxmss-100 1 x86-64 INTEL(R) XEON(R) GOLD 6548N Proving time 1.04 s 1.04 s -0.12% (-0.75% to +0.63%)
leanxmss-100 4 x86-64 INTEL(R) XEON(R) GOLD 6548N Proving time 296.12 ms 296.82 ms +0.09% (-0.47% to +0.61%)
leanxmss-100 8 x86-64 INTEL(R) XEON(R) GOLD 6548N Proving time 178.95 ms 178.84 ms -0.64% (-3.20% to +2.06%)
leanxmss-100 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Proving time 131.53 ms 137.59 ms +5.59% (-0.76% to +9.67%)
aggregate-leanxmss-100-2to1-first 1 arm64 Neoverse-V2 Verifying time 4.00 ms 4.00 ms +0.31% (-0.99% to +0.79%)
aggregate-leanxmss-100-2to1-first 4 arm64 Neoverse-V2 Verifying time 2.83 ms 2.83 ms -0.03% (-3.22% to +0.41%)
aggregate-leanxmss-100-2to1-first 8 arm64 Neoverse-V2 Verifying time 2.72 ms 2.71 ms -0.15% (-1.36% to +0.76%)
aggregate-leanxmss-100-2to1-first 16 arm64 Neoverse-V2 Verifying time 2.74 ms 2.74 ms -0.27% (-2.16% to +0.64%)
aggregate-leanxmss-100-2to1-first 1 x86-64 INTEL(R) XEON(R) GOLD 6548N Verifying time 3.80 ms 3.73 ms -0.76% (-4.65% to +2.53%)
aggregate-leanxmss-100-2to1-first 4 x86-64 INTEL(R) XEON(R) GOLD 6548N Verifying time 2.84 ms 2.84 ms -1.10% (-2.49% to +2.51%)
aggregate-leanxmss-100-2to1-first 8 x86-64 INTEL(R) XEON(R) GOLD 6548N Verifying time 2.77 ms 2.83 ms +1.37% (-0.81% to +6.40%)
aggregate-leanxmss-100-2to1-first 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Verifying time 3.11 ms 3.00 ms -2.28% (-6.43% to +1.81%)
aggregate-leanxmss-100-2to1-node 1 arm64 Neoverse-V2 Verifying time 6.68 ms 6.60 ms -0.40% (-2.82% to +0.27%)
aggregate-leanxmss-100-2to1-node 4 arm64 Neoverse-V2 Verifying time 3.59 ms 3.57 ms -0.21% (-2.80% to +1.56%)
aggregate-leanxmss-100-2to1-node 8 arm64 Neoverse-V2 Verifying time 3.16 ms 3.14 ms -0.64% (-1.34% to +1.01%)
aggregate-leanxmss-100-2to1-node 16 arm64 Neoverse-V2 Verifying time 3.03 ms 3.02 ms -0.22% (-0.55% to +0.30%)
aggregate-leanxmss-100-2to1-node 1 x86-64 INTEL(R) XEON(R) GOLD 6548N Verifying time 6.98 ms 6.86 ms -0.52% (-2.79% to +2.67%)
aggregate-leanxmss-100-2to1-node 4 x86-64 INTEL(R) XEON(R) GOLD 6548N Verifying time 3.71 ms 3.75 ms +1.01% (-1.99% to +3.05%)
aggregate-leanxmss-100-2to1-node 8 x86-64 INTEL(R) XEON(R) GOLD 6548N Verifying time 3.17 ms 3.17 ms +1.00% (-2.34% to +1.92%)
aggregate-leanxmss-100-2to1-node 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Verifying time 3.24 ms 3.24 ms +0.39% (-1.00% to +4.73%)
aggregate-leanxmss-100-4to1-first 1 arm64 Neoverse-V2 Verifying time 4.88 ms 4.91 ms +0.12% (-0.28% to +0.73%)
aggregate-leanxmss-100-4to1-first 4 arm64 Neoverse-V2 Verifying time 3.19 ms 3.17 ms -0.06% (-23.59% to +2.61%)
aggregate-leanxmss-100-4to1-first 8 arm64 Neoverse-V2 Verifying time 2.97 ms 2.96 ms +0.13% (-1.04% to +2.29%)
aggregate-leanxmss-100-4to1-first 16 arm64 Neoverse-V2 Verifying time 2.96 ms 2.95 ms -0.35% (-0.78% to +0.37%)
aggregate-leanxmss-100-4to1-first 1 x86-64 INTEL(R) XEON(R) GOLD 6548N Verifying time 5.20 ms 5.01 ms -1.91% (-7.74% to +16.05%)
aggregate-leanxmss-100-4to1-first 4 x86-64 INTEL(R) XEON(R) GOLD 6548N Verifying time 2.85 ms 2.88 ms +0.44% (-2.23% to +5.68%)
aggregate-leanxmss-100-4to1-first 8 x86-64 INTEL(R) XEON(R) GOLD 6548N Verifying time 3.05 ms 3.07 ms +0.51% (-4.95% to +3.75%)
aggregate-leanxmss-100-4to1-first 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Verifying time 3.16 ms 3.18 ms -0.68% (-7.33% to +2.07%)
aggregate-leanxmss-100-4to1-node 1 arm64 Neoverse-V2 Verifying time 10.42 ms 10.42 ms +0.35% (-5.75% to +5.50%)
aggregate-leanxmss-100-4to1-node 4 arm64 Neoverse-V2 Verifying time 4.63 ms 4.63 ms -0.00% (-18.62% to +1.45%)
aggregate-leanxmss-100-4to1-node 8 arm64 Neoverse-V2 Verifying time 3.80 ms 3.81 ms -0.09% (-0.65% to +0.70%)
aggregate-leanxmss-100-4to1-node 16 arm64 Neoverse-V2 Verifying time 3.48 ms 3.48 ms +0.06% (-1.20% to +0.35%)
aggregate-leanxmss-100-4to1-node 1 x86-64 INTEL(R) XEON(R) GOLD 6548N Verifying time 11.90 ms 11.82 ms -0.71% (-1.62% to +4.48%)
aggregate-leanxmss-100-4to1-node 4 x86-64 INTEL(R) XEON(R) GOLD 6548N Verifying time 4.58 ms 4.61 ms +1.25% (+0.49% to +2.87%)
aggregate-leanxmss-100-4to1-node 8 x86-64 INTEL(R) XEON(R) GOLD 6548N Verifying time 4.16 ms 4.17 ms +0.29% (-1.10% to +1.02%)
aggregate-leanxmss-100-4to1-node 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Verifying time 3.71 ms 3.74 ms +1.25% (-4.65% to +2.11%)
leanxmss-100 1 arm64 Neoverse-V2 Verifying time 3.06 ms 3.06 ms -0.09% (-0.14% to +0.72%)
leanxmss-100 4 arm64 Neoverse-V2 Verifying time 3.06 ms 3.06 ms +0.34% (-1.67% to +3.46%)
leanxmss-100 8 arm64 Neoverse-V2 Verifying time 3.08 ms 3.15 ms +4.02% (-2.84% to +10.84%)
leanxmss-100 16 arm64 Neoverse-V2 Verifying time 3.31 ms 3.28 ms -0.47% (-3.64% to +3.50%)
leanxmss-100 1 x86-64 INTEL(R) XEON(R) GOLD 6548N Verifying time 3.09 ms 3.08 ms +0.33% (-1.50% to +0.63%)
leanxmss-100 4 x86-64 INTEL(R) XEON(R) GOLD 6548N Verifying time 2.95 ms 2.99 ms +1.03% (+0.36% to +1.47%)
leanxmss-100 8 x86-64 INTEL(R) XEON(R) GOLD 6548N Verifying time 3.07 ms 3.08 ms +0.23% (-1.04% to +1.31%)
leanxmss-100 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Verifying time 3.17 ms 3.18 ms +0.29% (-5.76% to +7.32%)
aggregate-leanxmss-100-2to1-first 1 arm64 Neoverse-V2 Proof size 256,859 B 257,499 B +640 B (+0.25%)
aggregate-leanxmss-100-2to1-first 4 arm64 Neoverse-V2 Proof size 256,859 B 257,499 B +640 B (+0.25%)
aggregate-leanxmss-100-2to1-first 8 arm64 Neoverse-V2 Proof size 256,859 B 257,499 B +640 B (+0.25%)
aggregate-leanxmss-100-2to1-first 16 arm64 Neoverse-V2 Proof size 256,859 B 257,499 B +640 B (+0.25%)
aggregate-leanxmss-100-2to1-first 1 x86-64 INTEL(R) XEON(R) GOLD 6548N Proof size 256,859 B 257,499 B +640 B (+0.25%)
aggregate-leanxmss-100-2to1-first 4 x86-64 INTEL(R) XEON(R) GOLD 6548N Proof size 256,859 B 257,499 B +640 B (+0.25%)
aggregate-leanxmss-100-2to1-first 8 x86-64 INTEL(R) XEON(R) GOLD 6548N Proof size 256,859 B 257,499 B +640 B (+0.25%)
aggregate-leanxmss-100-2to1-first 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Proof size 256,859 B 257,499 B +640 B (+0.25%)
aggregate-leanxmss-100-2to1-node 1 arm64 Neoverse-V2 Proof size 256,795 B 255,963 B -832 B (-0.32%)
aggregate-leanxmss-100-2to1-node 4 arm64 Neoverse-V2 Proof size 256,795 B 255,963 B -832 B (-0.32%)
aggregate-leanxmss-100-2to1-node 8 arm64 Neoverse-V2 Proof size 256,795 B 255,963 B -832 B (-0.32%)
aggregate-leanxmss-100-2to1-node 16 arm64 Neoverse-V2 Proof size 256,795 B 255,963 B -832 B (-0.32%)
aggregate-leanxmss-100-2to1-node 1 x86-64 INTEL(R) XEON(R) GOLD 6548N Proof size 256,795 B 255,963 B -832 B (-0.32%)
aggregate-leanxmss-100-2to1-node 4 x86-64 INTEL(R) XEON(R) GOLD 6548N Proof size 256,795 B 255,963 B -832 B (-0.32%)
aggregate-leanxmss-100-2to1-node 8 x86-64 INTEL(R) XEON(R) GOLD 6548N Proof size 256,795 B 255,963 B -832 B (-0.32%)
aggregate-leanxmss-100-2to1-node 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Proof size 256,795 B 255,963 B -832 B (-0.32%)
aggregate-leanxmss-100-4to1-first 1 arm64 Neoverse-V2 Proof size 281,055 B 280,223 B -832 B (-0.30%)
aggregate-leanxmss-100-4to1-first 4 arm64 Neoverse-V2 Proof size 281,055 B 280,223 B -832 B (-0.30%)
aggregate-leanxmss-100-4to1-first 8 arm64 Neoverse-V2 Proof size 281,055 B 280,223 B -832 B (-0.30%)
aggregate-leanxmss-100-4to1-first 16 arm64 Neoverse-V2 Proof size 281,055 B 280,223 B -832 B (-0.30%)
aggregate-leanxmss-100-4to1-first 1 x86-64 INTEL(R) XEON(R) GOLD 6548N Proof size 281,055 B 280,223 B -832 B (-0.30%)
aggregate-leanxmss-100-4to1-first 4 x86-64 INTEL(R) XEON(R) GOLD 6548N Proof size 281,055 B 280,223 B -832 B (-0.30%)
aggregate-leanxmss-100-4to1-first 8 x86-64 INTEL(R) XEON(R) GOLD 6548N Proof size 281,055 B 280,223 B -832 B (-0.30%)
aggregate-leanxmss-100-4to1-first 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Proof size 281,055 B 280,223 B -832 B (-0.30%)
aggregate-leanxmss-100-4to1-node 1 arm64 Neoverse-V2 Proof size 281,279 B 281,247 B -32 B (-0.01%)
aggregate-leanxmss-100-4to1-node 4 arm64 Neoverse-V2 Proof size 281,279 B 281,247 B -32 B (-0.01%)
aggregate-leanxmss-100-4to1-node 8 arm64 Neoverse-V2 Proof size 281,279 B 281,247 B -32 B (-0.01%)
aggregate-leanxmss-100-4to1-node 16 arm64 Neoverse-V2 Proof size 281,279 B 281,247 B -32 B (-0.01%)
aggregate-leanxmss-100-4to1-node 1 x86-64 INTEL(R) XEON(R) GOLD 6548N Proof size 281,279 B 281,247 B -32 B (-0.01%)
aggregate-leanxmss-100-4to1-node 4 x86-64 INTEL(R) XEON(R) GOLD 6548N Proof size 281,279 B 281,247 B -32 B (-0.01%)
aggregate-leanxmss-100-4to1-node 8 x86-64 INTEL(R) XEON(R) GOLD 6548N Proof size 281,279 B 281,247 B -32 B (-0.01%)
aggregate-leanxmss-100-4to1-node 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Proof size 281,279 B 281,247 B -32 B (-0.01%)
leanxmss-100 1 arm64 Neoverse-V2 Proof size 303,314 B 303,314 B 0 B (+0.00%)
leanxmss-100 4 arm64 Neoverse-V2 Proof size 303,314 B 303,314 B 0 B (+0.00%)
leanxmss-100 8 arm64 Neoverse-V2 Proof size 303,314 B 303,314 B 0 B (+0.00%)
leanxmss-100 16 arm64 Neoverse-V2 Proof size 303,314 B 303,314 B 0 B (+0.00%)
leanxmss-100 1 x86-64 INTEL(R) XEON(R) GOLD 6548N Proof size 303,314 B 303,314 B 0 B (+0.00%)
leanxmss-100 4 x86-64 INTEL(R) XEON(R) GOLD 6548N Proof size 303,314 B 303,314 B 0 B (+0.00%)
leanxmss-100 8 x86-64 INTEL(R) XEON(R) GOLD 6548N Proof size 303,314 B 303,314 B 0 B (+0.00%)
leanxmss-100 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Proof size 303,314 B 303,314 B 0 B (+0.00%)
aggregate-leanxmss-100-2to1-first 1 arm64 Neoverse-V2 Peak memory 1570.34 MiB 1570.34 MiB -0.00% (-1.40% to +1.42%)
aggregate-leanxmss-100-2to1-first 4 arm64 Neoverse-V2 Peak memory 1594.15 MiB 1593.89 MiB -0.03% (-0.24% to +0.04%)
aggregate-leanxmss-100-2to1-first 8 arm64 Neoverse-V2 Peak memory 1627.40 MiB 1629.08 MiB +0.12% (-0.07% to +0.29%)
aggregate-leanxmss-100-2to1-first 16 arm64 Neoverse-V2 Peak memory 1707.27 MiB 1710.86 MiB +0.19% (-0.67% to +0.58%)
aggregate-leanxmss-100-2to1-first 1 x86-64 INTEL(R) XEON(R) GOLD 6548N Peak memory 834.59 MiB 834.59 MiB -0.00% (-0.00% to -0.00%)
aggregate-leanxmss-100-2to1-first 4 x86-64 INTEL(R) XEON(R) GOLD 6548N Peak memory 864.65 MiB 862.82 MiB -0.25% (-0.42% to +0.18%)
aggregate-leanxmss-100-2to1-first 8 x86-64 INTEL(R) XEON(R) GOLD 6548N Peak memory 891.96 MiB 890.12 MiB -0.16% (-0.88% to +0.44%)
aggregate-leanxmss-100-2to1-first 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Peak memory 929.02 MiB 930.41 MiB +0.00% (-0.72% to +0.40%)
aggregate-leanxmss-100-2to1-node 1 arm64 Neoverse-V2 Peak memory 1570.70 MiB 1570.64 MiB -0.00% (-1.41% to +1.42%)
aggregate-leanxmss-100-2to1-node 4 arm64 Neoverse-V2 Peak memory 1594.81 MiB 1595.08 MiB +0.02% (-0.16% to +0.03%)
aggregate-leanxmss-100-2to1-node 8 arm64 Neoverse-V2 Peak memory 1628.88 MiB 1630.20 MiB +0.19% (-0.16% to +0.24%)
aggregate-leanxmss-100-2to1-node 16 arm64 Neoverse-V2 Peak memory 1720.87 MiB 1723.99 MiB +0.13% (-0.29% to +0.84%)
aggregate-leanxmss-100-2to1-node 1 x86-64 INTEL(R) XEON(R) GOLD 6548N Peak memory 834.59 MiB 834.59 MiB -0.00% (-0.00% to -0.00%)
aggregate-leanxmss-100-2to1-node 4 x86-64 INTEL(R) XEON(R) GOLD 6548N Peak memory 873.36 MiB 872.38 MiB +0.07% (-0.42% to +0.28%)
aggregate-leanxmss-100-2to1-node 8 x86-64 INTEL(R) XEON(R) GOLD 6548N Peak memory 907.60 MiB 907.38 MiB -0.21% (-0.44% to +0.37%)
aggregate-leanxmss-100-2to1-node 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Peak memory 966.74 MiB 965.41 MiB +0.17% (-1.32% to +0.90%)
aggregate-leanxmss-100-4to1-first 1 arm64 Neoverse-V2 Peak memory 1958.66 MiB 1958.64 MiB -0.00% (-0.10% to +1.15%)
aggregate-leanxmss-100-4to1-first 4 arm64 Neoverse-V2 Peak memory 1980.72 MiB 1981.36 MiB +0.04% (-0.15% to +0.10%)
aggregate-leanxmss-100-4to1-first 8 arm64 Neoverse-V2 Peak memory 2019.41 MiB 2018.56 MiB -0.07% (-0.16% to +0.05%)
aggregate-leanxmss-100-4to1-first 16 arm64 Neoverse-V2 Peak memory 2102.20 MiB 2110.37 MiB +0.44% (-0.07% to +0.64%)
aggregate-leanxmss-100-4to1-first 1 x86-64 INTEL(R) XEON(R) GOLD 6548N Peak memory 1020.59 MiB 1020.59 MiB -0.00% (-0.00% to +0.20%)
aggregate-leanxmss-100-4to1-first 4 x86-64 INTEL(R) XEON(R) GOLD 6548N Peak memory 1056.27 MiB 1056.27 MiB +0.13% (-0.30% to +0.58%)
aggregate-leanxmss-100-4to1-first 8 x86-64 INTEL(R) XEON(R) GOLD 6548N Peak memory 1083.31 MiB 1081.69 MiB -0.07% (-0.27% to +0.08%)
aggregate-leanxmss-100-4to1-first 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Peak memory 1129.67 MiB 1131.27 MiB -0.09% (-1.25% to +0.89%)
aggregate-leanxmss-100-4to1-node 1 arm64 Neoverse-V2 Peak memory 1959.16 MiB 1961.20 MiB +0.10% (-0.00% to +1.25%)
aggregate-leanxmss-100-4to1-node 4 arm64 Neoverse-V2 Peak memory 1981.22 MiB 1982.11 MiB +0.02% (-0.11% to +0.11%)
aggregate-leanxmss-100-4to1-node 8 arm64 Neoverse-V2 Peak memory 2022.00 MiB 2022.72 MiB -0.05% (-0.26% to +0.09%)
aggregate-leanxmss-100-4to1-node 16 arm64 Neoverse-V2 Peak memory 2117.65 MiB 2125.04 MiB +0.24% (-0.20% to +0.66%)
aggregate-leanxmss-100-4to1-node 1 x86-64 INTEL(R) XEON(R) GOLD 6548N Peak memory 1046.59 MiB 1046.59 MiB -0.00% (-0.00% to +0.19%)
aggregate-leanxmss-100-4to1-node 4 x86-64 INTEL(R) XEON(R) GOLD 6548N Peak memory 1069.40 MiB 1070.64 MiB +0.16% (-0.63% to +0.31%)
aggregate-leanxmss-100-4to1-node 8 x86-64 INTEL(R) XEON(R) GOLD 6548N Peak memory 1103.44 MiB 1103.20 MiB +0.30% (-0.98% to +0.36%)
aggregate-leanxmss-100-4to1-node 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Peak memory 1167.02 MiB 1169.95 MiB +0.30% (-1.13% to +0.99%)
leanxmss-100 1 arm64 Neoverse-V2 Peak memory 1394.51 MiB 1394.38 MiB -0.01% (-0.30% to +0.13%)
leanxmss-100 4 arm64 Neoverse-V2 Peak memory 1417.71 MiB 1419.78 MiB +0.31% (-0.25% to +0.44%)
leanxmss-100 8 arm64 Neoverse-V2 Peak memory 1454.79 MiB 1456.52 MiB +0.18% (-0.16% to +0.61%)
leanxmss-100 16 arm64 Neoverse-V2 Peak memory 1511.95 MiB 1517.62 MiB +0.38% (-0.39% to +0.64%)
leanxmss-100 1 x86-64 INTEL(R) XEON(R) GOLD 6548N Peak memory 646.62 MiB 646.34 MiB -0.04% (-0.35% to +0.04%)
leanxmss-100 4 x86-64 INTEL(R) XEON(R) GOLD 6548N Peak memory 666.25 MiB 667.63 MiB +0.02% (-0.52% to +0.25%)
leanxmss-100 8 x86-64 INTEL(R) XEON(R) GOLD 6548N Peak memory 687.42 MiB 688.37 MiB +0.14% (-0.30% to +0.64%)
leanxmss-100 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Peak memory 713.76 MiB 711.26 MiB +0.08% (-0.81% to +0.56%)
aggregate-leanxmss-100-2to1-first 1 arm64 Neoverse-V2 Peak heap 600.60 MiB 600.60 MiB +0.00% (+0.00% to +0.00%)
aggregate-leanxmss-100-2to1-first 4 arm64 Neoverse-V2 Peak heap 600.59 MiB 600.60 MiB +0.00% (-0.00% to +0.02%)
aggregate-leanxmss-100-2to1-first 8 arm64 Neoverse-V2 Peak heap 600.53 MiB 600.47 MiB -0.01% (-0.01% to -0.00%)
aggregate-leanxmss-100-2to1-first 16 arm64 Neoverse-V2 Peak heap 600.51 MiB 600.52 MiB +0.00% (-0.01% to +0.02%)
aggregate-leanxmss-100-2to1-first 1 x86-64 INTEL(R) XEON(R) GOLD 6548N Peak heap 318.89 MiB 318.89 MiB +0.00% (+0.00% to +0.00%)
aggregate-leanxmss-100-2to1-first 4 x86-64 INTEL(R) XEON(R) GOLD 6548N Peak heap 318.95 MiB 318.94 MiB +0.00% (-0.04% to +0.02%)
aggregate-leanxmss-100-2to1-first 8 x86-64 INTEL(R) XEON(R) GOLD 6548N Peak heap 318.95 MiB 318.95 MiB +0.01% (-0.02% to +0.03%)
aggregate-leanxmss-100-2to1-first 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Peak heap 319.00 MiB 318.97 MiB -0.01% (-0.05% to +0.02%)
aggregate-leanxmss-100-2to1-node 1 arm64 Neoverse-V2 Peak heap 600.32 MiB 600.32 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.00% to +0.00%)
aggregate-leanxmss-100-2to1-node 8 arm64 Neoverse-V2 Peak heap 600.23 MiB 600.17 MiB -0.01% (-0.01% to -0.00%)
aggregate-leanxmss-100-2to1-node 16 arm64 Neoverse-V2 Peak heap 600.22 MiB 600.22 MiB +0.01% (-0.00% to +0.01%)
aggregate-leanxmss-100-2to1-node 1 x86-64 INTEL(R) XEON(R) GOLD 6548N Peak heap 318.60 MiB 318.60 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.65 MiB 318.66 MiB +0.00% (-0.01% to +0.03%)
aggregate-leanxmss-100-2to1-node 8 x86-64 INTEL(R) XEON(R) GOLD 6548N Peak heap 318.68 MiB 318.65 MiB -0.02% (-0.03% to +0.04%)
aggregate-leanxmss-100-2to1-node 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Peak heap 318.76 MiB 318.70 MiB +0.00% (-0.06% to +0.09%)
aggregate-leanxmss-100-4to1-first 1 arm64 Neoverse-V2 Peak heap 1201.06 MiB 1201.06 MiB +0.00% (+0.00% to +0.00%)
aggregate-leanxmss-100-4to1-first 4 arm64 Neoverse-V2 Peak heap 1201.00 MiB 1201.04 MiB +0.00% (-0.00% to +0.01%)
aggregate-leanxmss-100-4to1-first 8 arm64 Neoverse-V2 Peak heap 1200.93 MiB 1200.93 MiB +0.00% (-0.00% to +0.01%)
aggregate-leanxmss-100-4to1-first 16 arm64 Neoverse-V2 Peak heap 1200.91 MiB 1200.88 MiB -0.00% (-0.01% to +0.00%)
aggregate-leanxmss-100-4to1-first 1 x86-64 INTEL(R) XEON(R) GOLD 6548N Peak heap 637.68 MiB 637.68 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.69 MiB 637.69 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.57 MiB 637.59 MiB +0.00% (-0.01% to +0.02%)
aggregate-leanxmss-100-4to1-first 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Peak heap 637.86 MiB 637.77 MiB +0.00% (-0.03% to +0.03%)
aggregate-leanxmss-100-4to1-node 1 arm64 Neoverse-V2 Peak heap 1200.58 MiB 1200.58 MiB +0.00% (+0.00% to +0.00%)
aggregate-leanxmss-100-4to1-node 4 arm64 Neoverse-V2 Peak heap 1200.57 MiB 1200.55 MiB -0.00% (-0.00% to -0.00%)
aggregate-leanxmss-100-4to1-node 8 arm64 Neoverse-V2 Peak heap 1200.52 MiB 1200.45 MiB -0.00% (-0.01% to +0.00%)
aggregate-leanxmss-100-4to1-node 16 arm64 Neoverse-V2 Peak heap 1200.45 MiB 1200.45 MiB -0.00% (-0.01% to +0.01%)
aggregate-leanxmss-100-4to1-node 1 x86-64 INTEL(R) XEON(R) GOLD 6548N Peak heap 637.21 MiB 637.21 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.26 MiB 637.22 MiB -0.00% (-0.02% to +0.01%)
aggregate-leanxmss-100-4to1-node 8 x86-64 INTEL(R) XEON(R) GOLD 6548N Peak heap 637.12 MiB 637.12 MiB +0.00% (-0.01% to +0.03%)
aggregate-leanxmss-100-4to1-node 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Peak heap 637.38 MiB 637.37 MiB -0.01% (-0.05% to +0.01%)
leanxmss-100 1 arm64 Neoverse-V2 Peak heap 1202.03 MiB 1202.03 MiB +0.00% (+0.00% to +0.00%)
leanxmss-100 4 arm64 Neoverse-V2 Peak heap 1202.09 MiB 1202.06 MiB -0.00% (-0.01% to +0.00%)
leanxmss-100 8 arm64 Neoverse-V2 Peak heap 1201.94 MiB 1201.91 MiB -0.01% (-0.01% to +0.01%)
leanxmss-100 16 arm64 Neoverse-V2 Peak heap 1201.70 MiB 1201.75 MiB +0.01% (-0.00% to +0.01%)
leanxmss-100 1 x86-64 INTEL(R) XEON(R) GOLD 6548N Peak heap 557.78 MiB 557.78 MiB +0.00% (+0.00% to +0.00%)
leanxmss-100 4 x86-64 INTEL(R) XEON(R) GOLD 6548N Peak heap 557.85 MiB 557.87 MiB +0.01% (-0.01% to +0.02%)
leanxmss-100 8 x86-64 INTEL(R) XEON(R) GOLD 6548N Peak heap 557.95 MiB 557.97 MiB -0.00% (-0.01% to +0.02%)
leanxmss-100 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Peak heap 558.19 MiB 558.06 MiB -0.02% (-0.06% to +0.01%)
aggregate-leanxmss-100-2to1-first 1 arm64 Neoverse-V2 Allocations 16,731 16,733 +0.01% (+0.01% to +0.01%)
aggregate-leanxmss-100-2to1-first 4 arm64 Neoverse-V2 Allocations 16,857 16,859 +0.01% (+0.01% to +0.01%)
aggregate-leanxmss-100-2to1-first 8 arm64 Neoverse-V2 Allocations 17,001 17,003 +0.01% (+0.01% to +0.01%)
aggregate-leanxmss-100-2to1-first 16 arm64 Neoverse-V2 Allocations 17,289 17,291 +0.01% (+0.01% to +0.01%)
aggregate-leanxmss-100-2to1-first 1 x86-64 INTEL(R) XEON(R) GOLD 6548N Allocations 16,833 16,835 +0.01% (+0.01% to +0.01%)
aggregate-leanxmss-100-2to1-first 4 x86-64 INTEL(R) XEON(R) GOLD 6548N Allocations 16,962 16,964 +0.01% (+0.01% to +0.01%)
aggregate-leanxmss-100-2to1-first 8 x86-64 INTEL(R) XEON(R) GOLD 6548N Allocations 17,110 17,112 +0.01% (+0.01% to +0.01%)
aggregate-leanxmss-100-2to1-first 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Allocations 17,406 17,408 +0.01% (+0.01% to +0.01%)
aggregate-leanxmss-100-2to1-node 1 arm64 Neoverse-V2 Allocations 20,452 20,451 -0.00% (-0.00% to -0.00%)
aggregate-leanxmss-100-2to1-node 4 arm64 Neoverse-V2 Allocations 20,578 20,577 -0.00% (-0.00% to -0.00%)
aggregate-leanxmss-100-2to1-node 8 arm64 Neoverse-V2 Allocations 20,722 20,721 -0.00% (-0.00% to -0.00%)
aggregate-leanxmss-100-2to1-node 16 arm64 Neoverse-V2 Allocations 21,010 21,009 -0.00% (-0.00% to +0.09%)
aggregate-leanxmss-100-2to1-node 1 x86-64 INTEL(R) XEON(R) GOLD 6548N Allocations 20,546 20,545 -0.00% (-0.00% to -0.00%)
aggregate-leanxmss-100-2to1-node 4 x86-64 INTEL(R) XEON(R) GOLD 6548N Allocations 20,675 20,674 -0.00% (-0.00% to +0.01%)
aggregate-leanxmss-100-2to1-node 8 x86-64 INTEL(R) XEON(R) GOLD 6548N Allocations 20,823 20,822 -0.00% (-0.00% to -0.00%)
aggregate-leanxmss-100-2to1-node 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Allocations 21,119 21,118 -0.00% (-0.00% to -0.00%)
aggregate-leanxmss-100-4to1-first 1 arm64 Neoverse-V2 Allocations 28,650 28,648 -0.01% (-0.01% to -0.01%)
aggregate-leanxmss-100-4to1-first 4 arm64 Neoverse-V2 Allocations 28,788 28,786 -0.01% (-0.01% to -0.01%)
aggregate-leanxmss-100-4to1-first 8 arm64 Neoverse-V2 Allocations 28,972 28,970 -0.01% (-0.01% to -0.01%)
aggregate-leanxmss-100-4to1-first 16 arm64 Neoverse-V2 Allocations 29,292 29,290 -0.01% (-0.02% to -0.01%)
aggregate-leanxmss-100-4to1-first 1 x86-64 INTEL(R) XEON(R) GOLD 6548N Allocations 28,796 28,794 -0.01% (-0.01% to -0.01%)
aggregate-leanxmss-100-4to1-first 4 x86-64 INTEL(R) XEON(R) GOLD 6548N Allocations 28,937 28,935 -0.01% (-0.01% to -0.01%)
aggregate-leanxmss-100-4to1-first 8 x86-64 INTEL(R) XEON(R) GOLD 6548N Allocations 29,125 29,123 -0.01% (-0.01% to -0.01%)
aggregate-leanxmss-100-4to1-first 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Allocations 29,453 29,451 -0.01% (-0.01% to -0.01%)
aggregate-leanxmss-100-4to1-node 1 arm64 Neoverse-V2 Allocations 35,457 35,456 -0.00% (-0.00% to -0.00%)
aggregate-leanxmss-100-4to1-node 4 arm64 Neoverse-V2 Allocations 35,595 35,594 -0.00% (-0.00% to -0.00%)
aggregate-leanxmss-100-4to1-node 8 arm64 Neoverse-V2 Allocations 35,779 35,778 -0.00% (-0.00% to -0.00%)
aggregate-leanxmss-100-4to1-node 16 arm64 Neoverse-V2 Allocations 36,099 36,098 -0.00% (-0.06% to +0.06%)
aggregate-leanxmss-100-4to1-node 1 x86-64 INTEL(R) XEON(R) GOLD 6548N Allocations 35,603 35,602 -0.00% (-0.00% to -0.00%)
aggregate-leanxmss-100-4to1-node 4 x86-64 INTEL(R) XEON(R) GOLD 6548N Allocations 35,744 35,743 -0.00% (-0.00% to +0.01%)
aggregate-leanxmss-100-4to1-node 8 x86-64 INTEL(R) XEON(R) GOLD 6548N Allocations 35,932 35,931 -0.00% (-0.01% to -0.00%)
aggregate-leanxmss-100-4to1-node 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Allocations 36,260 36,259 -0.00% (-0.00% to -0.00%)
leanxmss-100 1 arm64 Neoverse-V2 Allocations 24,798 24,798 +0.00% (+0.00% to +0.00%)
leanxmss-100 4 arm64 Neoverse-V2 Allocations 25,016 25,016 +0.00% (+0.00% to +0.00%)
leanxmss-100 8 arm64 Neoverse-V2 Allocations 25,252 25,252 +0.00% (+0.00% to +0.00%)
leanxmss-100 16 arm64 Neoverse-V2 Allocations 25,724 25,724 +0.00% (-0.12% to +0.00%)
leanxmss-100 1 x86-64 INTEL(R) XEON(R) GOLD 6548N Allocations 25,316 25,316 +0.00% (+0.00% to +0.00%)
leanxmss-100 4 x86-64 INTEL(R) XEON(R) GOLD 6548N Allocations 25,571 25,571 +0.00% (+0.00% to +0.00%)
leanxmss-100 8 x86-64 INTEL(R) XEON(R) GOLD 6548N Allocations 25,855 25,855 +0.00% (-0.01% to +0.00%)
leanxmss-100 16 x86-64 INTEL(R) XEON(R) GOLD 6548N Allocations 26,423 26,423 +0.00% (-0.01% to +0.00%)
Prover stages
benchmark threads runner CPU base this PR change
aggregate-leanxmss-100-2to1-first 1 arm64 Neoverse-V2 969.47 ms 938.20 ms -3.16% (-4.40% to -2.99%)
 ↳ build-circuit 12.37 ms 12.32 ms -0.03% (-1.51% to +0.97%)
 ↳ prove-recursion 933.98 ms 902.74 ms -3.29% (-4.56% to -3.12%)
 ↳ reduce-claims 15.71 ms 15.80 ms +0.57% (-1.01% to +1.31%)
 ↳ reduce-in-rows 1.38 ms 1.38 ms -0.40% (-3.56% to +2.14%)
 ↳ verify 5.87 ms 5.87 ms +0.06% (-1.13% to +0.12%)
aggregate-leanxmss-100-2to1-first 4 arm64 Neoverse-V2 271.88 ms 264.04 ms -2.88% (-3.52% to -2.36%)
 ↳ build-circuit 10.54 ms 10.54 ms +0.05% (-1.22% to +0.93%)
 ↳ prove-recursion 248.66 ms 240.75 ms -3.14% (-3.69% to -2.74%)
 ↳ reduce-claims 5.46 ms 5.53 ms +3.50% (-6.85% to +8.15%)
 ↳ reduce-in-rows 1.46 ms 1.42 ms -2.34% (-7.43% to -0.76%)
 ↳ verify 5.74 ms 5.75 ms +0.33% (+0.17% to +0.90%)
aggregate-leanxmss-100-2to1-first 8 arm64 Neoverse-V2 157.91 ms 154.44 ms -2.19% (-2.95% to -1.66%)
 ↳ build-circuit 10.21 ms 10.16 ms +0.16% (-2.12% to +0.49%)
 ↳ prove-recursion 136.11 ms 132.62 ms -2.56% (-3.30% to -2.12%)
 ↳ reduce-claims 4.22 ms 4.19 ms +0.01% (-5.32% to +6.61%)
 ↳ reduce-in-rows 1.42 ms 1.42 ms +0.91% (+0.24% to +2.61%)
 ↳ verify 5.85 ms 5.84 ms -0.45% (-0.61% to +0.29%)
aggregate-leanxmss-100-2to1-first 16 arm64 Neoverse-V2 103.66 ms 101.52 ms -2.07% (-2.68% to -0.73%)
 ↳ build-circuit 10.22 ms 10.20 ms +0.18% (-0.29% to +1.17%)
 ↳ prove-recursion 82.01 ms 79.54 ms -2.93% (-3.87% to -1.24%)
 ↳ reduce-claims 3.80 ms 4.06 ms +5.80% (+1.30% to +7.43%)
 ↳ reduce-in-rows 1.43 ms 1.42 ms +0.89% (-3.02% to +4.92%)
 ↳ verify 6.21 ms 6.25 ms +0.32% (-0.69% to +1.16%)
aggregate-leanxmss-100-2to1-first 1 x86-64 INTEL(R) XEON(R) GOLD 6548N 574.22 ms 565.05 ms -1.50% (-2.76% to -0.66%)
 ↳ build-circuit 14.21 ms 14.38 ms +1.57% (-5.38% to +2.82%)
 ↳ prove-recursion 532.66 ms 524.28 ms -1.68% (-2.72% to -0.73%)
 ↳ reduce-claims 18.57 ms 18.49 ms -0.70% (-3.96% to -0.12%)
 ↳ reduce-in-rows 2.17 ms 1.82 ms -13.39% (-21.80% to -9.10%)
 ↳ verify 6.40 ms 6.61 ms +3.13% (+0.27% to +4.48%)
aggregate-leanxmss-100-2to1-first 4 x86-64 INTEL(R) XEON(R) GOLD 6548N 185.40 ms 181.50 ms -2.03% (-2.21% to -0.60%)
 ↳ build-circuit 14.50 ms 14.43 ms -1.85% (-3.71% to +2.69%)
 ↳ prove-recursion 154.93 ms 152.39 ms -1.47% (-2.43% to -0.15%)
 ↳ reduce-claims 7.35 ms 6.77 ms -11.53% (-14.89% to +10.04%)
 ↳ reduce-in-rows 2.17 ms 1.77 ms -18.58% (-24.88% to -11.46%)
 ↳ verify 6.37 ms 6.34 ms -0.39% (-3.28% to +2.30%)
aggregate-leanxmss-100-2to1-first 8 x86-64 INTEL(R) XEON(R) GOLD 6548N 114.36 ms 114.24 ms -0.62% (-2.64% to +0.21%)
 ↳ build-circuit 13.80 ms 14.06 ms +1.88% (-2.37% to +2.82%)
 ↳ prove-recursion 86.47 ms 85.44 ms -0.86% (-1.40% to -0.39%)
 ↳ reduce-claims 5.57 ms 6.08 ms +9.06% (-24.16% to +10.54%)
 ↳ reduce-in-rows 2.21 ms 1.84 ms -16.75% (-19.06% to -8.28%)
 ↳ verify 6.37 ms 6.46 ms +1.59% (+0.96% to +1.72%)
aggregate-leanxmss-100-2to1-first 16 x86-64 INTEL(R) XEON(R) GOLD 6548N 95.27 ms 90.42 ms -1.26% (-10.43% to +3.15%)
 ↳ build-circuit 13.99 ms 13.74 ms -1.78% (-13.28% to +4.90%)
 ↳ prove-recursion 63.92 ms 62.17 ms -0.89% (-8.26% to +4.59%)
 ↳ reduce-claims 7.39 ms 5.81 ms -8.18% (-24.11% to +2.42%)
 ↳ reduce-in-rows 2.18 ms 1.87 ms -15.17% (-19.87% to -7.20%)
 ↳ verify 6.85 ms 6.82 ms -0.14% (-11.98% to +0.37%)
aggregate-leanxmss-100-2to1-node 1 arm64 Neoverse-V2 996.24 ms 985.39 ms -0.93% (-1.14% to -0.78%)
 ↳ build-circuit 12.24 ms 12.18 ms -0.83% (-0.87% to -0.29%)
 ↳ prove-recursion 945.91 ms 935.18 ms -1.00% (-1.18% to -0.80%)
 ↳ reduce-claims 30.79 ms 30.85 ms -0.24% (-1.20% to +0.73%)
 ↳ reduce-in-rows 1.49 ms 1.49 ms -0.05% (-3.37% to +3.11%)
aggregate-leanxmss-100-2to1-node 4 arm64 Neoverse-V2 279.35 ms 277.38 ms -0.64% (-1.23% to -0.51%)
 ↳ build-circuit 11.36 ms 11.44 ms -0.15% (-4.20% to +1.84%)
 ↳ prove-recursion 251.24 ms 249.38 ms -0.85% (-1.05% to -0.52%)
 ↳ reduce-claims 10.28 ms 10.25 ms -0.81% (-2.18% to +1.54%)
 ↳ reduce-in-rows 1.51 ms 1.50 ms +0.40% (-0.53% to +0.56%)
aggregate-leanxmss-100-2to1-node 8 arm64 Neoverse-V2 162.89 ms 162.48 ms -0.38% (-0.89% to -0.16%)
 ↳ build-circuit 11.25 ms 11.26 ms -0.20% (-1.84% to +1.18%)
 ↳ prove-recursion 137.72 ms 137.12 ms -0.57% (-0.84% to -0.21%)
 ↳ reduce-claims 7.76 ms 7.84 ms +0.55% (-2.82% to +6.07%)
 ↳ reduce-in-rows 1.52 ms 1.51 ms -0.99% (-2.61% to +2.67%)
aggregate-leanxmss-100-2to1-node 16 arm64 Neoverse-V2 106.24 ms 105.61 ms -0.64% (-4.41% to -0.05%)
 ↳ build-circuit 11.19 ms 11.24 ms +0.81% (-0.36% to +1.14%)
 ↳ prove-recursion 82.47 ms 81.66 ms -0.82% (-5.52% to -0.01%)
 ↳ reduce-claims 6.46 ms 6.44 ms -0.20% (-2.71% to +6.63%)
 ↳ reduce-in-rows 1.51 ms 1.51 ms +0.01% (-2.19% to +1.39%)
aggregate-leanxmss-100-2to1-node 1 x86-64 INTEL(R) XEON(R) GOLD 6548N 606.14 ms 599.94 ms -0.91% (-1.47% to -0.40%)
 ↳ build-circuit 15.51 ms 15.45 ms +1.20% (-6.57% to +4.79%)
 ↳ prove-recursion 548.17 ms 542.38 ms -1.10% (-1.15% to -0.58%)
 ↳ reduce-claims 34.47 ms 34.07 ms -0.30% (-2.89% to +0.46%)
 ↳ reduce-in-rows 2.17 ms 1.83 ms -13.38% (-21.03% to -12.25%)
aggregate-leanxmss-100-2to1-node 4 x86-64 INTEL(R) XEON(R) GOLD 6548N 193.11 ms 191.82 ms -0.39% (-1.51% to -0.02%)
 ↳ build-circuit 14.90 ms 15.06 ms +0.76% (-0.72% to +3.03%)
 ↳ prove-recursion 158.37 ms 157.25 ms -0.41% (-1.19% to +0.08%)
 ↳ reduce-claims 12.52 ms 12.74 ms +1.79% (-16.87% to +4.64%)
 ↳ reduce-in-rows 2.26 ms 1.93 ms -14.52% (-16.68% to -6.06%)
aggregate-leanxmss-100-2to1-node 8 x86-64 INTEL(R) XEON(R) GOLD 6548N 118.57 ms 117.62 ms -0.55% (-1.24% to +0.54%)
 ↳ build-circuit 14.34 ms 14.41 ms +0.49% (-2.45% to +3.60%)
 ↳ prove-recursion 87.40 ms 87.55 ms +0.07% (-0.68% to +0.29%)
 ↳ reduce-claims 9.67 ms 8.90 ms -1.72% (-9.49% to +4.24%)
 ↳ reduce-in-rows 2.10 ms 1.83 ms -12.79% (-18.56% to -7.97%)
aggregate-leanxmss-100-2to1-node 16 x86-64 INTEL(R) XEON(R) GOLD 6548N 95.34 ms 93.17 ms -2.27% (-8.79% to +1.80%)
 ↳ build-circuit 15.03 ms 14.64 ms -2.89% (-4.99% to +6.52%)
 ↳ prove-recursion 63.76 ms 62.68 ms -1.72% (-9.79% to +3.82%)
 ↳ reduce-claims 9.20 ms 8.72 ms -2.21% (-19.09% to +3.89%)
 ↳ reduce-in-rows 2.24 ms 1.91 ms -13.59% (-15.11% to -11.93%)
aggregate-leanxmss-100-4to1-first 1 arm64 Neoverse-V2 1.89 s 1.90 s +0.60% (+0.29% to +0.90%)
 ↳ build-circuit 25.40 ms 25.46 ms -0.07% (-1.29% to +2.58%)
 ↳ prove-recursion 1.83 s 1.84 s +0.57% (+0.31% to +0.95%)
 ↳ reduce-claims 21.27 ms 21.20 ms +0.12% (-0.58% to +1.34%)
 ↳ reduce-in-rows 2.78 ms 2.83 ms +0.82% (-1.26% to +4.86%)
 ↳ verify 11.62 ms 11.69 ms +0.86% (-1.75% to +0.97%)
aggregate-leanxmss-100-4to1-first 4 arm64 Neoverse-V2 521.35 ms 523.54 ms +0.34% (-4.98% to +0.67%)
 ↳ build-circuit 21.57 ms 21.68 ms +0.49% (-3.05% to +4.26%)
 ↳ prove-recursion 478.40 ms 480.79 ms +0.45% (-5.52% to +0.61%)
 ↳ reduce-claims 7.17 ms 6.97 ms -0.34% (-5.41% to +4.47%)
 ↳ reduce-in-rows 2.85 ms 2.85 ms -1.96% (-9.80% to +5.34%)
 ↳ verify 11.35 ms 11.34 ms -0.11% (-0.49% to +0.55%)
aggregate-leanxmss-100-4to1-first 8 arm64 Neoverse-V2 299.57 ms 301.29 ms +0.55% (+0.24% to +0.68%)
 ↳ build-circuit 20.80 ms 20.74 ms -0.30% (-0.45% to +0.22%)
 ↳ prove-recursion 259.12 ms 260.52 ms +0.55% (+0.24% to +0.90%)
 ↳ reduce-claims 5.20 ms 5.34 ms +4.01% (-3.61% to +6.72%)
 ↳ reduce-in-rows 2.84 ms 2.79 ms -0.97% (-5.51% to +2.63%)
 ↳ verify 11.50 ms 11.50 ms +0.11% (-0.32% to +0.41%)
aggregate-leanxmss-100-4to1-first 16 arm64 Neoverse-V2 190.89 ms 191.71 ms +0.63% (-0.23% to +2.48%)
 ↳ build-circuit 20.75 ms 20.74 ms -0.01% (-0.57% to +0.65%)
 ↳ prove-recursion 150.74 ms 151.33 ms +0.70% (-0.55% to +2.97%)
 ↳ reduce-claims 4.48 ms 4.60 ms +2.83% (-0.97% to +8.81%)
 ↳ reduce-in-rows 2.77 ms 2.87 ms +0.02% (-0.26% to +6.03%)
 ↳ verify 12.19 ms 12.20 ms +0.06% (-0.15% to +0.96%)
aggregate-leanxmss-100-4to1-first 1 x86-64 INTEL(R) XEON(R) GOLD 6548N 1.15 s 1.15 s +0.62% (-0.25% to +1.12%)
 ↳ build-circuit 33.37 ms 32.80 ms -0.61% (-5.72% to +0.18%)
 ↳ prove-recursion 1.07 s 1.08 s +0.79% (-0.09% to +1.28%)
 ↳ reduce-claims 26.46 ms 26.42 ms -0.31% (-1.01% to +1.17%)
 ↳ reduce-in-rows 4.52 ms 3.84 ms -14.44% (-16.92% to -12.65%)
 ↳ verify 12.48 ms 12.27 ms -1.65% (-3.82% to +0.15%)
aggregate-leanxmss-100-4to1-first 4 x86-64 INTEL(R) XEON(R) GOLD 6548N 312.38 ms 310.59 ms +0.31% (-2.75% to +1.70%)
 ↳ build-circuit 28.11 ms 27.34 ms -2.72% (-7.22% to -0.54%)
 ↳ prove-recursion 260.83 ms 260.93 ms +0.80% (-1.96% to +3.09%)
 ↳ reduce-claims 8.26 ms 8.14 ms -2.32% (-15.79% to +9.48%)
 ↳ reduce-in-rows 3.97 ms 3.49 ms -12.04% (-19.52% to -9.99%)
 ↳ verify 11.45 ms 10.70 ms -2.33% (-7.64% to +1.53%)
aggregate-leanxmss-100-4to1-first 8 x86-64 INTEL(R) XEON(R) GOLD 6548N 222.05 ms 222.22 ms +0.17% (-0.60% to +0.63%)
 ↳ build-circuit 31.36 ms 31.82 ms +1.47% (-0.26% to +3.30%)
 ↳ prove-recursion 165.53 ms 165.69 ms +0.41% (-0.50% to +0.88%)
 ↳ reduce-claims 7.34 ms 6.99 ms -2.23% (-10.06% to +6.24%)
 ↳ reduce-in-rows 4.60 ms 3.95 ms -12.98% (-16.44% to -7.41%)
 ↳ verify 12.54 ms 12.60 ms -0.06% (-0.61% to +1.24%)
aggregate-leanxmss-100-4to1-first 16 x86-64 INTEL(R) XEON(R) GOLD 6548N 169.22 ms 166.12 ms -1.83% (-6.68% to +2.88%)
 ↳ build-circuit 31.79 ms 31.58 ms -0.30% (-4.19% to +2.67%)
 ↳ prove-recursion 110.94 ms 109.96 ms -0.88% (-10.26% to +5.29%)
 ↳ reduce-claims 7.04 ms 7.81 ms +3.71% (-4.95% to +12.18%)
 ↳ reduce-in-rows 4.64 ms 3.96 ms -14.46% (-16.12% to -12.61%)
 ↳ verify 13.08 ms 13.15 ms -0.37% (-0.62% to +1.41%)
aggregate-leanxmss-100-4to1-node 1 arm64 Neoverse-V2 2.06 s 2.05 s -0.35% (-0.72% to -0.34%)
 ↳ build-circuit 29.94 ms 29.71 ms -0.79% (-3.22% to +1.33%)
 ↳ prove-recursion 1.96 s 1.95 s -0.37% (-0.77% to -0.29%)
 ↳ reduce-claims 56.11 ms 56.00 ms -0.39% (-0.75% to +0.70%)
 ↳ reduce-in-rows 2.96 ms 2.93 ms -2.18% (-2.81% to +1.61%)
aggregate-leanxmss-100-4to1-node 4 arm64 Neoverse-V2 567.02 ms 565.05 ms -0.57% (-14.63% to -0.08%)
 ↳ build-circuit 25.59 ms 25.72 ms +0.53% (-26.09% to +2.02%)
 ↳ prove-recursion 509.63 ms 508.13 ms -0.50% (-13.07% to -0.15%)
 ↳ reduce-claims 17.42 ms 17.22 ms -1.14% (-25.15% to +1.73%)
 ↳ reduce-in-rows 3.03 ms 3.02 ms -1.29% (-41.78% to +0.88%)
aggregate-leanxmss-100-4to1-node 8 arm64 Neoverse-V2 324.88 ms 323.58 ms -0.45% (-0.58% to -0.01%)
 ↳ build-circuit 24.91 ms 24.86 ms +0.12% (-1.06% to +0.47%)
 ↳ prove-recursion 275.05 ms 273.68 ms -0.53% (-0.73% to -0.17%)
 ↳ reduce-claims 11.98 ms 12.07 ms +0.72% (-0.92% to +2.63%)
 ↳ reduce-in-rows 2.97 ms 2.97 ms -0.09% (-3.36% to +3.17%)
aggregate-leanxmss-100-4to1-node 16 arm64 Neoverse-V2 207.20 ms 206.58 ms -0.11% (-4.31% to +0.31%)
 ↳ build-circuit 24.68 ms 24.75 ms +0.21% (-0.39% to +1.26%)
 ↳ prove-recursion 160.15 ms 159.34 ms -0.54% (-5.77% to +0.46%)
 ↳ reduce-claims 9.40 ms 9.40 ms -0.21% (-3.22% to +2.83%)
 ↳ reduce-in-rows 2.99 ms 3.00 ms -0.72% (-0.84% to +0.50%)
aggregate-leanxmss-100-4to1-node 1 x86-64 INTEL(R) XEON(R) GOLD 6548N 1.27 s 1.27 s -0.24% (-0.55% to +1.18%)
 ↳ build-circuit 42.58 ms 42.50 ms -0.35% (-9.00% to +7.25%)
 ↳ prove-recursion 1.13 s 1.13 s +0.03% (-0.50% to +0.75%)
 ↳ reduce-claims 66.98 ms 69.50 ms +0.32% (-1.23% to +8.05%)
 ↳ reduce-in-rows 4.55 ms 4.17 ms -7.70% (-16.12% to -4.88%)
aggregate-leanxmss-100-4to1-node 4 x86-64 INTEL(R) XEON(R) GOLD 6548N 343.91 ms 341.17 ms -0.80% (-2.21% to +0.62%)
 ↳ build-circuit 32.03 ms 31.83 ms -0.00% (-5.09% to +1.99%)
 ↳ prove-recursion 278.51 ms 277.20 ms -0.46% (-2.68% to +0.79%)
 ↳ reduce-claims 18.92 ms 18.92 ms -0.01% (-7.80% to +3.67%)
 ↳ reduce-in-rows 4.22 ms 3.61 ms -13.33% (-19.29% to -8.09%)
aggregate-leanxmss-100-4to1-node 8 x86-64 INTEL(R) XEON(R) GOLD 6548N 240.85 ms 239.65 ms -0.75% (-1.90% to +0.88%)
 ↳ build-circuit 36.74 ms 36.75 ms +0.88% (-4.87% to +3.09%)
 ↳ prove-recursion 173.74 ms 173.52 ms +0.03% (-1.02% to +0.32%)
 ↳ reduce-claims 14.23 ms 14.31 ms +0.51% (-14.46% to +8.29%)
 ↳ reduce-in-rows 4.85 ms 4.34 ms -10.48% (-12.37% to -8.62%)
aggregate-leanxmss-100-4to1-node 16 x86-64 INTEL(R) XEON(R) GOLD 6548N 174.54 ms 179.53 ms +0.46% (-3.02% to +7.07%)
 ↳ build-circuit 36.55 ms 37.03 ms +1.11% (+0.12% to +3.89%)
 ↳ prove-recursion 109.81 ms 114.51 ms +0.30% (-4.43% to +8.07%)
 ↳ reduce-claims 12.28 ms 12.57 ms +3.41% (-0.35% to +17.10%)
 ↳ reduce-in-rows 4.84 ms 4.25 ms -12.25% (-14.53% to -8.12%)
leanxmss-100 1 arm64 Neoverse-V2 1.77 s 1.78 s +0.19% (-0.29% to +0.30%)
 ↳ build-witness 46.34 ms 46.19 ms -0.33% (-0.68% to +0.23%)
 ↳ commit 293.67 ms 295.95 ms +0.39% (-0.48% to +1.26%)
 ↳ execute-program 10.05 ms 10.17 ms +0.13% (-4.01% to +2.81%)
 ↳ flock-reductions 643.31 ms 643.18 ms +0.01% (-0.29% to +0.21%)
 ↳ pcs-open 633.60 ms 634.41 ms +0.13% (-0.40% to +0.22%)
 ↳ prove-bus 131.47 ms 131.66 ms -0.07% (-0.39% to +0.55%)
 ↳ prove-constraints 14.18 ms 14.23 ms +0.33% (-0.48% to +2.20%)
leanxmss-100 4 arm64 Neoverse-V2 475.85 ms 475.46 ms +0.10% (-0.21% to +0.39%)
 ↳ build-witness 13.00 ms 12.99 ms -0.12% (-0.61% to +1.30%)
 ↳ commit 74.53 ms 74.80 ms +0.43% (-0.10% to +0.79%)
 ↳ execute-program 10.46 ms 10.24 ms -1.86% (-5.17% to +0.45%)
 ↳ flock-reductions 168.93 ms 169.28 ms +0.24% (-0.22% to +0.33%)
 ↳ pcs-open 166.69 ms 167.13 ms -0.25% (-0.42% to +0.62%)
 ↳ prove-bus 35.69 ms 35.79 ms +0.35% (-0.42% to +0.86%)
 ↳ prove-constraints 5.58 ms 5.57 ms +0.38% (-1.11% to +1.13%)
leanxmss-100 8 arm64 Neoverse-V2 266.12 ms 267.07 ms +0.07% (-2.92% to +2.73%)
 ↳ build-witness 7.35 ms 7.40 ms +0.21% (-3.24% to +1.95%)
 ↳ commit 38.48 ms 38.58 ms -0.45% (-0.93% to +7.23%)
 ↳ execute-program 10.15 ms 10.28 ms +0.03% (-12.98% to +6.31%)
 ↳ flock-reductions 93.62 ms 93.92 ms -0.17% (-2.84% to +2.36%)
 ↳ pcs-open 90.49 ms 90.54 ms +0.13% (-7.13% to +4.31%)
 ↳ prove-bus 20.56 ms 20.67 ms +0.66% (-1.50% to +3.72%)
 ↳ prove-constraints 4.20 ms 4.22 ms +0.95% (-1.44% to +3.33%)
leanxmss-100 16 arm64 Neoverse-V2 166.23 ms 164.81 ms -1.07% (-1.58% to +1.26%)
 ↳ build-witness 4.86 ms 4.86 ms -0.35% (-9.05% to +1.36%)
 ↳ commit 20.52 ms 20.43 ms -0.68% (-3.34% to +1.48%)
 ↳ execute-program 10.55 ms 10.56 ms -0.92% (-1.12% to +2.66%)
 ↳ flock-reductions 56.80 ms 56.66 ms +0.04% (-1.58% to +1.17%)
 ↳ pcs-open 54.17 ms 54.33 ms +1.00% (-5.92% to +3.42%)
 ↳ prove-bus 13.48 ms 13.49 ms +0.12% (-6.00% to +2.40%)
 ↳ prove-constraints 3.94 ms 3.96 ms +0.34% (-6.96% to +3.16%)
leanxmss-100 1 x86-64 INTEL(R) XEON(R) GOLD 6548N 1.04 s 1.04 s -0.12% (-0.75% to +0.63%)
 ↳ build-witness 69.89 ms 69.81 ms +0.06% (-1.11% to +0.56%)
 ↳ commit 187.65 ms 187.64 ms +0.09% (-0.42% to +0.88%)
 ↳ execute-program 12.60 ms 12.80 ms +2.11% (-1.31% to +3.78%)
 ↳ flock-reductions 306.57 ms 307.05 ms -0.06% (-1.64% to +1.02%)
 ↳ pcs-open 359.93 ms 359.98 ms -0.01% (-1.59% to +0.80%)
 ↳ prove-bus 81.63 ms 82.36 ms +0.42% (-5.95% to +1.26%)
 ↳ prove-constraints 19.43 ms 19.32 ms -1.65% (-2.35% to +0.36%)
leanxmss-100 4 x86-64 INTEL(R) XEON(R) GOLD 6548N 296.12 ms 296.82 ms +0.09% (-0.47% to +0.61%)
 ↳ build-witness 19.14 ms 19.24 ms +0.79% (-0.04% to +2.09%)
 ↳ commit 46.65 ms 46.89 ms +0.54% (+0.08% to +0.70%)
 ↳ execute-program 12.37 ms 12.32 ms -0.44% (-2.82% to +6.57%)
 ↳ flock-reductions 85.74 ms 85.61 ms -0.09% (-0.37% to +0.37%)
 ↳ pcs-open 101.04 ms 101.19 ms +0.46% (-2.19% to +0.84%)
 ↳ prove-bus 23.96 ms 24.10 ms +0.74% (-1.27% to +1.09%)
 ↳ prove-constraints 7.25 ms 7.24 ms +0.68% (-2.10% to +1.45%)
leanxmss-100 8 x86-64 INTEL(R) XEON(R) GOLD 6548N 178.95 ms 178.84 ms -0.64% (-3.20% to +2.06%)
 ↳ build-witness 11.18 ms 10.91 ms -2.50% (-4.61% to +1.07%)
 ↳ commit 24.28 ms 24.21 ms -0.28% (-1.39% to +1.12%)
 ↳ execute-program 12.54 ms 12.51 ms +1.35% (-4.86% to +3.36%)
 ↳ flock-reductions 50.51 ms 50.66 ms -0.05% (-0.08% to +1.60%)
 ↳ pcs-open 59.87 ms 60.49 ms -0.49% (-8.04% to +4.33%)
 ↳ prove-bus 15.01 ms 14.84 ms -1.08% (-7.10% to +1.23%)
 ↳ prove-constraints 5.32 ms 5.31 ms -0.56% (-3.33% to +1.01%)
leanxmss-100 16 x86-64 INTEL(R) XEON(R) GOLD 6548N 131.53 ms 137.59 ms +5.59% (-0.76% to +9.67%)
 ↳ build-witness 8.47 ms 8.39 ms -0.38% (-1.69% to +0.86%)
 ↳ commit 13.62 ms 14.92 ms +7.52% (-7.90% to +16.06%)
 ↳ execute-program 11.92 ms 12.06 ms +3.65% (-2.20% to +7.89%)
 ↳ flock-reductions 38.42 ms 42.60 ms +8.26% (-3.65% to +13.50%)
 ↳ pcs-open 40.88 ms 42.89 ms +4.93% (+1.20% to +12.57%)
 ↳ prove-bus 10.94 ms 11.85 ms +2.69% (+1.40% to +11.88%)
 ↳ prove-constraints 4.91 ms 5.04 ms -0.52% (-1.15% to +7.80%)

@kevaundray
kevaundray merged commit bd0d23f into leanEthereum:riscv-exploration Oct 12, 2026
58 checks passed
kevaundray added a commit to kevaundray/leanVM that referenced this pull request Oct 12, 2026
…bsent places, leanEthereum#609 stacked-opening lint)

Tree session leanvm-tree-16 and LVMT 19, above upstream's. leanEthereum#627's pinned-heights tests take this branch's PerRecTable heights (STEP and LINK absent) and pin the session tags as this branch derives them (they name the leaf family).
kevaundray added a commit to kevaundray/leanVM that referenced this pull request Oct 12, 2026
kevaundray added a commit to kevaundray/leanVM that referenced this pull request Oct 12, 2026
kevaundray added a commit to kevaundray/leanVM that referenced this pull request Oct 12, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant