precipice
A command-line and GUI benchmarking tool and graph generator.
Features
- Providing statistics (eg. min, max, standard deviation) across a custom number of runs.
- Support for a warmup run.
- Export a set number of runs to CSV.
- GUI runner with file selection and command-line arguments able to be reorganised.
- Exporter from CSV to CSV/HTML using plotly.
Usage
The program is launched using the CLI with 4 main programs that can be launched:
| Command-Line Name | Function |
|---|---|
| exporter-gui | Deals with exporting in a GUI program |
| runner-gui | Deals with benching in a GUI program |
| exporter-cli | Deals with exporting in a CLI interface |
| runner-cli | Deals with benching in a CLI interface |
The GUI programs all require active user input, and the CLI programs all require no user input and can be used in scripting programs.
Runner CLI
The runner can do a basic CLI benchmark just using:
And if you need CLI args, they all get added in one object
You can do a custom number of runs using
The default trace name and file name are just the binary with the runs, and that can be customised further with the options available at --help.
Exporter CLI
The exporter can export from any number of files, by adding more -i flags - for example:
By default, the file name to export to is precipice_bench and it exports to a plotly.js document, but you can change this:
The main utility in exporting to CSV is getting multiple traces into one file.
Installation
I don't have any installers, and this isn't on any package managers right now. The only way to run it is to get the binary from the releases page and get it into your path, or to download it using the rust dependency manager: