-
Notifications
You must be signed in to change notification settings - Fork 21
Description
We should add a small CLI which could be used to benchmark any of the examples. This would also be helpful for the Delendum benchmarking project.
The CLI should take a path to the example directory as input, execute/prove the example, and output the following metrics:
- Cold compilation time (i.e., when the example is compiled with a new assembler).
- Hot compilation time (i.e., when the example is complied with an assembler which was already used to compile the same code).
- Execution time.
- Proving time.
- Verification time.
It would also be nice to enable benchmarking at 96-bit and 128-bit security levels. So, maybe this could be another input parameter for the CLI.
Lastly, it would be really nice to also have the benchmark verify the correctness of the result. The simplest way to do it would be include the expected result for a given example into the example directory. This would, however, mean that adjusting example parameters would be difficult. We could also include a small Rust file with each example which could output the expected result for a given set of parameters - but this might be something we do later on.