# Install bench with Homebrew, dnf, Nix

Command-line benchmark tool. Version 1.0.13 via Homebrew; verified 2026-06-28.

## Install

```sh
sudo av install brew:bench
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install bench
```

  Evidence: local Homebrew formula metadata

### Linux

- dnf (92%):

```sh
sudo dnf install bench
```

  Evidence: Fedora Rawhide package metadata: bench from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst

- Nix (92%):

```sh
nix profile install nixpkgs#bench
```

  Evidence: nixpkgs package indexes: bench from https://raw.githubusercontent.com/NixOS/nixpkgs/master/pkgs/top-level/all-packages.nix

## Package facts

- **Package key:** brew:bench
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/bench>
- **Version:** 1.0.13
- **Source summary:** Command-line benchmark tool
- **Homepage:** <https://github.com/Gabriella439/bench>
- **Repository:** <https://github.com/Gabriella439/bench>
- **Upstream docs:** <https://github.com/Gabriella439/bench#readme>
- **License:** BSD-3-Clause
- **Source archive:** <https://hackage.haskell.org/package/bench-1.0.13/bench-1.0.13.tar.gz>
- **Last updated:** 2026-06-28T12:58:43-04:00
- **Generated:** 2026-07-08T18:08:21+00:00

## Executables

- bench (cli)
- bench (alias)

## Dependencies

- gmp

## Build dependencies

- cabal-install
- ghc

## Uses from macOS

- libffi

## Install behavior

- Post-install hook: not defined
- Bottle: available on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux

## Freshness

- Page generated: 2026-07-08
- Package-manager version: 1.0.13
- Package-manager updated: 2026-06-28
- Local data: ok
- Upstream repository: https://github.com/Gabriella439/bench
- info: No cached GitHub release or tag data was available.
## Project history and usage

Bench is Gabriella Gonzalez's command-line benchmarking wrapper around Haskell's Criterion library. It turns the statistical benchmarking machinery used by Haskell developers into a shell command for timing arbitrary programs.

### Project history

The GitHub repository was created in March 2016, and the README copyright dates the project to 2016. Public GitHub releases began with 1.0.1 in May 2016 and reached 1.0.9 in May 2018.

The README describes the project as a simple utility that wraps Criterion and notes that it is not expected to change much, which matches the small, stable command-line-tool profile.

### Adoption history

The README documents installation via Homebrew on macOS, DNF on Fedora or Red Hat-based distributions, Stack, and Nix. That cross-package-manager footprint is the main adoption signal for a small benchmarking utility.

Bench's appeal is strongest for users who want Criterion-style repeated runs, confidence intervals, CSV/JUnit/raw outputs, and HTML reports without writing a Haskell benchmark harness.

### How it is used

Users run commands such as `bench 'sleep 1'`, pass one or more command lines, and optionally emit reports with flags such as `--output`, `--csv`, `--junit`, or `--raw`. Output from the command under test is discarded while timing statistics are collected.

It sits between shell built-ins like `time` and larger benchmarking frameworks: lightweight enough for ad hoc CLI comparisons, but statistically richer than a single wall-clock measurement.

### Why package nerds care

Bench is notable as a package-manager-friendly bridge from the Haskell Criterion ecosystem to everyday shell benchmarking. It is small, stable, and very Unix in spirit: one command that makes a deeper library useful outside its home language.

Its significance is modest but real for developers comparing command-line tools, compiler flags, scripts, and small pipelines from a terminal.

### Timeline

- 2016: Repository created and 1.0.1 released.
- 2016: 1.0.2 released.
- 2017: 1.0.8 released.
- 2018: 1.0.9 released.
- 2020s: Packaged by Homebrew, DNF, and Nix according to supplied package facts and README installation notes.

### Related projects

- Criterion is the Haskell benchmarking library used underneath Bench.
- Stack and Nix are documented installation routes.
- Homebrew and DNF package the command for non-Haskell-specific installation.

### Sources

- <https://github.com/Gabriella439/bench>
- <https://github.com/Gabriella439/bench/releases>
- source_facts.package-manager
- source_facts.package-manager-url


## Security Notes

narrow executable package without higher-risk signals.

- **Geiger risk:** green / low
- narrow executable package without higher-risk signals

## Source Database Details

- **Source Database:** Homebrew formula API
- **Tap:** homebrew/core
- **Full Name:** bench
- **Version Scheme:** 0
- **Revision:** 0
- **Head Version:** HEAD
- **Bottle Stable Root URL:** <https://ghcr.io/v2/homebrew/core>
- **Deprecated:** no
- **Disabled:** no
- **Keg Only:** no
- **URL Keys:** head, stable

## Other Package-Manager Records

- Nix - bench: normalized package name match | nixpkgs package indexes: bench from https://raw.githubusercontent.com/NixOS/nixpkgs/master/pkgs/top-level/all-packages.nix
- dnf - bench - 1.0.13-9.fc44: normalized package name match | Fedora Rawhide package metadata: bench from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst | Command-line benchmark tool | https://hackage.haskell.org/package/bench


## Related links

- [Source-control packages](https://www.automicvault.com/pkg/source-control-tools/) - Belongs to a source-control command family.
- [Terminal utility packages](https://www.automicvault.com/pkg/terminal-utilities/) - Matched terminal and command-line workflow metadata.
- [Text processing packages](https://www.automicvault.com/pkg/text-processing-tools/) - Matched text, document, or structured-data processing metadata.
- [Developer build packages](https://www.automicvault.com/pkg/developer-build-tools/) - Matched build, compiler, generator, or developer workflow metadata.
- [cabal-install](https://www.automicvault.com/pkg/brew/cabal-install/) - Build dependency declared by Homebrew.
- [ghc](https://www.automicvault.com/pkg/brew/ghc/) - Build dependency declared by Homebrew.
- [hyperfine](https://www.automicvault.com/pkg/brew/hyperfine/) - Shares av.db curated category or tags: benchmarking, cli, developer-tools, performance.
- [multitime](https://www.automicvault.com/pkg/brew/multitime/) - Shares av.db curated category or tags: benchmarking, cli, developer-tools, performance.
- [pyperformance](https://www.automicvault.com/pkg/brew/pyperformance/) - Shares av.db curated category or tags: benchmarking, cli, developer-tools, performance.
- [sqlbench](https://www.automicvault.com/pkg/brew/sqlbench/) - Shares av.db curated category or tags: benchmarking, cli, developer-tools, performance.
- [minio-warp](https://www.automicvault.com/pkg/brew/minio-warp/) - Shares av.db curated category or tags: benchmarking, cli, developer-tools.
- [pipebench](https://www.automicvault.com/pkg/brew/pipebench/) - Shares av.db curated category or tags: benchmarking, cli, developer-tools.
- [siege](https://www.automicvault.com/pkg/brew/siege/) - Shares av.db curated category or tags: benchmarking, cli, developer-tools.
- [wrk](https://www.automicvault.com/pkg/brew/wrk/) - Shares av.db curated category or tags: benchmarking, cli, developer-tools.
- [shelltestrunner](https://www.automicvault.com/pkg/brew/shelltestrunner/) - Both packages touch the same language runtime or ecosystem. Shared terms: cli, command-line, developer, developer-tools, gmp.

## Combined YAML source

View the package source record on GitHub. [combined/bench.yml](https://github.com/automic-vault/db/blob/main/combined/bench.yml)


## Sources

- Nucleus package database
- Geiger risk classifier
- package-page enrichment
- curated package history
- package version freshness
- av.db category and tag curation
- package relationship graph
- external package-manager database matches
- cross-ecosystem install command graph
