@@ -18,8 +18,7 @@ front-ends.
1818
1919## Prerequisites
2020
21- - ** Toolchain:** the crate's dev-dependencies require ` rustc ≥ 1.88 ` . The commands below pin ` +1.88.0 ` ; use
22- any installed toolchain ` ≥ 1.88 ` , or set it as the default and drop the ` +1.88.0 ` .
21+ - ** Toolchain:** the crate's dev-dependencies require the latest stable Rust toolchain.
2322- ** Features:** all circuit benches require ` --features future_snark,rustls,benchmark-internals ` . ` future_snark `
2423 downloads the SRS over HTTPS and needs a TLS backend: pick either ` rustls ` or ` native-tls ` .
2524- ** Resources:** the recursive circuit runs at degree 19 (GB-scale RAM, minutes per proof); the non-recursive
@@ -28,7 +27,7 @@ front-ends.
2827General invocation:
2928
3029``` bash
31- cargo +1.88.0 bench -p mithril-stm --features future_snark,rustls,benchmark-internals --bench < name> -- < args>
30+ cargo bench -p mithril-stm --features future_snark,rustls,benchmark-internals --bench < name> -- < args>
3231```
3332
3433Everything after ` -- ` is passed to the benchmark binary.
@@ -65,24 +64,24 @@ never silently trigger a multi-minute key generation). Arguments go after `--`:
6564
6665``` bash
6766# List every benchmark id — no benchmark setup or key generation (Cargo may still compile the target):
68- cargo +1.88.0 bench -p mithril-stm --features future_snark,rustls,benchmark-internals --bench ivc_halo2_snark -- --list
67+ cargo bench -p mithril-stm --features future_snark,rustls,benchmark-internals --bench ivc_halo2_snark -- --list
6968
7069# Show usage:
71- cargo +1.88.0 bench -p mithril-stm --features future_snark,rustls,benchmark-internals --bench ivc_halo2_snark -- --help
70+ cargo bench -p mithril-stm --features future_snark,rustls,benchmark-internals --bench ivc_halo2_snark -- --help
7271
7372# Run everything (tens of minutes; performs TWO recursive key generations — the shared per-path
7473# environment and the cold setup/keys measurement — then all proofs):
75- cargo +1.88.0 bench -p mithril-stm --features future_snark,rustls,benchmark-internals --bench ivc_halo2_snark
74+ cargo bench -p mithril-stm --features future_snark,rustls,benchmark-internals --bench ivc_halo2_snark
7675
7776# Run a subset: pass ONE literal id or prefix (substring match against the ids from --list).
7877# One transition path (prove + verify + fold):
79- cargo +1.88.0 bench -p mithril-stm --features future_snark,rustls,benchmark-internals --bench ivc_halo2_snark -- ivc/same_epoch
78+ cargo bench -p mithril-stm --features future_snark,rustls,benchmark-internals --bench ivc_halo2_snark -- ivc/same_epoch
8079# One path's verification only:
81- cargo +1.88.0 bench -p mithril-stm --features future_snark,rustls,benchmark-internals --bench ivc_halo2_snark -- ivc/genesis/verify
80+ cargo bench -p mithril-stm --features future_snark,rustls,benchmark-internals --bench ivc_halo2_snark -- ivc/genesis/verify
8281# SRS cold vs warm (no key generation):
83- cargo +1.88.0 bench -p mithril-stm --features future_snark,rustls,benchmark-internals --bench ivc_halo2_snark -- ivc/setup/srs
82+ cargo bench -p mithril-stm --features future_snark,rustls,benchmark-internals --bench ivc_halo2_snark -- ivc/setup/srs
8483# Keys cold vs warm (cold performs a full recursive key generation):
85- cargo +1.88.0 bench -p mithril-stm --features future_snark,rustls,benchmark-internals --bench ivc_halo2_snark -- ivc/setup/keys
84+ cargo bench -p mithril-stm --features future_snark,rustls,benchmark-internals --bench ivc_halo2_snark -- ivc/setup/keys
8685```
8786
8887The filter is a ** literal** substring, not a regex. The parser rejects (rather than silently ignores):
@@ -120,10 +119,10 @@ Criterion's list/filter modes do **not** gate the manually-timed `large`/`produc
120119positional ` certificate/<tier> ` filter does.
121120
122121``` bash
123- cargo +1.88.0 bench -p mithril-stm --features future_snark,rustls,benchmark-internals --bench halo2_snark -- certificate/small
124- cargo +1.88.0 bench -p mithril-stm --features future_snark,rustls,benchmark-internals --bench halo2_snark -- certificate/medium
125- cargo +1.88.0 bench -p mithril-stm --features future_snark,rustls,benchmark-internals --bench halo2_snark -- certificate/large
126- cargo +1.88.0 bench -p mithril-stm --features future_snark,rustls,benchmark-internals --bench halo2_snark -- certificate/production
122+ cargo bench -p mithril-stm --features future_snark,rustls,benchmark-internals --bench halo2_snark -- certificate/small
123+ cargo bench -p mithril-stm --features future_snark,rustls,benchmark-internals --bench halo2_snark -- certificate/medium
124+ cargo bench -p mithril-stm --features future_snark,rustls,benchmark-internals --bench halo2_snark -- certificate/large
125+ cargo bench -p mithril-stm --features future_snark,rustls,benchmark-internals --bench halo2_snark -- certificate/production
127126```
128127
129128| Tier | Quorum | ` k ` | Measurement |
@@ -142,5 +141,5 @@ Takes no arguments — it sweeps a range of `k` tiers and prints, for each, the
142141timings projected onto a standard e2e run (~ 80 certificates):
143142
144143``` bash
145- cargo +1.88.0 bench -p mithril-stm --features future_snark,rustls,benchmark-internals --bench halo2_prover_modes
144+ cargo bench -p mithril-stm --features future_snark,rustls,benchmark-internals --bench halo2_prover_modes
146145```
0 commit comments