mirror of
https://github.com/sharkdp/hyperfine.git
synced 2024-12-02 08:04:56 +03:00
39 lines
1.1 KiB
Markdown
39 lines
1.1 KiB
Markdown
# hyperfine
|
|
|
|
A command-line benchmarking tool (*inspired by [bench](https://github.com/Gabriel439/bench)*).
|
|
|
|
``` bash
|
|
> hyperfine [OPTIONS] <command>...
|
|
```
|
|
|
|
**Demo**: Benchmarking [`fd`](https://github.com/sharkdp/fd) and [`find`](https://www.gnu.org/software/findutils/):
|
|
|
|
![hyperfine](https://i.imgur.com/5OqrGWe.gif)
|
|
|
|
## Features
|
|
|
|
* Statistical analysis across multiple runs
|
|
* Support for arbitrary shell commands
|
|
* Constant feedback about the benchmark progress and current estimates
|
|
* Warmup runs can be executed before the actual benchmark
|
|
|
|
## Installation
|
|
|
|
Hyperfine can be installed via [cargo](https://doc.rust-lang.org/cargo/):
|
|
```
|
|
cargo install hyperfine
|
|
```
|
|
|
|
### Arch Linux
|
|
|
|
On Arch Linux, hyperfine can be installed [from the AUR](https://aur.archlinux.org/packages/hyperfine):
|
|
```
|
|
yaourt -S hyperfine
|
|
```
|
|
|
|
## 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.
|