Benchmarks
Latency and install footprint of commit-lint and commitlint.
Method
| Item | Value |
|---|---|
| Runner | hyperfine, -N (no shell) |
| Runs | 10 warmup, 100 measured |
| Metric | Mean wall-clock time |
| atypical | target/release/commit-lint against the repository's atypical.toml (Standard Commits) |
| commitlint | @commitlint/cli with config-conventional, via benches/commitlint.config.mjs |
| Footprint | On-disk bytes of each package and its transitive dependencies, each file counted once |
| Lane | Header |
|---|---|
atypical (valid) | add(exe)[int]: initial commit linting |
atypical (invalid) | feat[pre](lib): oops |
commitlint (valid) | feat(api): add thing |
commitlint (invalid) | bogus(api): add thing |
Results
| Command | Mean wall time [ms] |
|---|---|
atypical (valid) | 1.3 ± 0.2 |
atypical (invalid) | 1.3 ± 0.3 |
commitlint (valid) | 643.3 ± 60.1 |
commitlint (invalid) | 650.5 ± 46.9 |
| Footprint | Size |
|---|---|
commit-lint release binary | 1.2 MB |
@commitlint/cli with config-conventional | 10.0 MB in 70 packages |
| Node.js, required by commitlint | 150.0 MB |
Measured 2026-10-20 on 11th Gen Intel(R) Core(TM) i5-1135G7 @ 2.40GHz. Source: benches/result-2026-10-20.md
Reproduce
bun install
bun run bench- Requires hyperfine.
- The commitlint lanes require the
benchesworkspace to be installed; without it they are skipped. RUNSandWARMUPoverride the run counts.- Output goes to
benches/results.md, which is not committed. Committed snapshots are namedbenches/result-YYYY-MM-DD.md; the newest one is shown on this page.