0xMiden / 0xMiden/examples

Benchmarking CLI improvements

Open
#39 2 comments 0 reactions 1 assignee Claimed by @Dominik1999 View on GitHub
good first issue
Dominant language
TypeScript
Stars
21
Forks
28
PR merge metrics
No merged PRs in 30d

Description

A few small things that would be great to improve in benchmarking CLI:

1. We should use `structop` instead of `clap` as thats what we use for all other CLIs (e.g., [here](https://github.com/0xPolygonMiden/miden-vm/blob/main/miden/src/main.rs#L13)).
2. We should keep CLI parameters as consistent as possible across different CLIs (e.g., for how we specify security, number of outputs etc.). See example [here](https://github.com/0xPolygonMiden/miden-vm/blob/main/miden/src/cli/prove.rs#L11).
3. Let's change the executable file name to something like `miden-bench` (`miden-benchmarking-cli` is way too long).
4. `miden::prove()` also includes execution time, I believe. So, to make things more clear, we should probably label it as "Execution + proving time" or something like that.
5. Would also be great to print out proof size.

Contributor guide

Open the contributing guide

Research direction

Look at the benchmarking CLI code in the examples repository, likely in a `benches` or `cli` directory. Compare with the main Miden VM CLI using structopt (e.g., `miden/src/main.rs` and `miden/src/cli/prove.rs`). Update the argument parsing, rename the executable in Cargo.toml, adjust timing labels in output, and add proof size reporting. Run the benchmarks to verify changes.

Written by the indexing model from the issue text.

Assessment

Tech stack
cli, rust
Domain
cli, tooling
Issue type
Refactor
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Clearly specified
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.