Files
hyperfine/README.md
T

38 lines
1.1 KiB
Markdown
Raw Normal View History

2018-01-13 20:27:24 +01:00
# hyperfine
2018-01-14 22:26:39 +01:00
A command-line benchmarking tool (*inspired by [bench](https://github.com/Gabriel439/bench)*).
2018-01-13 20:27:24 +01:00
``` bash
2018-01-14 22:19:52 +01:00
> hyperfine [OPTIONS] <command>...
2018-01-13 20:27:24 +01:00
```
2018-01-14 22:26:39 +01:00
**Demo**: Benchmarking [`fd`](https://github.com/sharkdp/fd) and [`find`](https://www.gnu.org/software/findutils/):
2018-01-14 22:19:52 +01:00
2018-01-14 22:12:02 +01:00
![hyperfine](https://i.imgur.com/5OqrGWe.gif)
2018-01-13 21:31:51 +01:00
2018-01-13 20:27:24 +01:00
## Features
2018-01-13 21:07:28 +01:00
* Statistical analysis across multiple runs
* Support for arbitrary shell commands
2018-01-14 22:26:39 +01:00
* Constant feedback about the benchmark progress and current estimates
* Warmup runs can be executed before the actual benchmark
2018-01-13 21:07:28 +01:00
## Installation
2018-01-14 22:26:39 +01:00
Hyperfine can be installed via [cargo](https://doc.rust-lang.org/cargo/):
2018-01-13 21:07:28 +01:00
```
cargo install hyperfine
```
2018-01-13 20:27:24 +01:00
2018-01-15 18:34:48 +01:00
### Arch Linux
On Arch Linux, hyperfine can be installed [from the AUR](https://aur.archlinux.org/packages/hyperfine):
```
yaourt -S hyperfine
```
2018-01-13 20:27:24 +01:00
## Origin of the name
The name *hyperfine* was chosen in reference to the hyperfine levels of caesium 133 which play a crucial role in the
[definition of our base unit of time](https://en.wikipedia.org/wiki/Second#Based_on_caesium_microwave_atomic_clock)
— the second.