Commit Graph
112 Commits
Author SHA1 Message Date
David Peter f9aa299c0f Switch to unit-safe quantities 2026-10-05 15:58:56 +02:00
David Peter 914d5cbc59 Units 2026-10-05 15:57:26 +02:00
David Peter d4c6b53e40 Runs => Measurements 2026-10-05 15:57:26 +02:00
David Peter 8ba632c954 More simplifications 2026-10-05 15:57:12 +02:00
David Peter f7e6d7286f Simplify run creation 2026-10-05 15:56:53 +02:00
David Peter c20fcc0bda Real => wall clock 2026-10-05 15:56:53 +02:00
David Peter af4422d212 Remove command_with_unused_parameters field 2026-10-05 15:56:52 +02:00
David Peter ae0035ad56 Use wait4 instead of getrusage 2026-10-05 15:56:37 +02:00
David Peter 50232feb22 Move user and system time 2026-10-05 15:56:36 +02:00
David Peter 14d773998a Introduce new BenchmarkRun struct 2026-10-05 15:56:36 +02:00
David Peter 463a889638 Simplify parameterized reference handling 2026-10-05 15:07:46 +02:00
David Peter f7429e2fb2 Use parameterized benchmarks as references 2026-10-05 14:59:18 +02:00
David Peter 0f2871bd66 Address review feedback 2026-10-05 14:16:33 +02:00
Devon Hollowood ce704016f9 Make time elapsed only show up initially 2026-10-05 14:14:15 +02:00
David Peter 8084a9eb7f Adopt the remaining statistics changes from #790 2026-10-05 13:57:31 +02:00
David Peter df49a04a66 Use typed quantities for relative-speed calculations 2026-10-05 13:41:20 +02:00
David Peter e689520fb5 Merge pull request #969 from sharkdp/codex/result-measurements
Store typed Measurements in BenchmarkResult
2026-10-05 12:51:22 +02:00
David Peter b23372c5e2 Store typed Measurements in BenchmarkResult 2026-10-05 12:46:10 +02:00
David Peter 30a2b61d4c Merge pull request #807 from willcl-ark/expose-run-var
expose HYPERFINE_ITERATION to intermediate commands
2026-10-05 12:45:29 +02:00
David Peter 3558138cea Further simplifications 2026-10-05 12:40:33 +02:00
David Peter 8c40de45f8 Store parameter usage metadata in benchmark results 2026-10-05 12:35:24 +02:00
willcl-ark 44c0cc231b expose HYPERFINE_ITERATION to intermediate commands
Fixes: #781

Expose the `$HYPERFINE_ITERATION` variable to intermediate commands.
This will allow iteration-specific prepare/conclude, such as:

```bash
hyperfine --runs 5 --prepare 'echo touch file${HYPERFINE_ITERATION}.dat' \
    'echo testing file${HYPERFINE_ITERATION}.dat' \
    --conclude 'echo rm file${HYPERFINE_ITERATION}.dat' --show-output
```
2026-10-05 12:24:43 +02:00
David Peter 6f557e0494 Extract typed quantity formatting 2026-10-05 11:46:49 +02:00
David Peter b5f58651a1 Extract quantity and command helpers 2026-10-05 11:14:09 +02:00
David Peter aa14b8c0d9 Group units, formatting, and statistics under quantity 2026-10-05 10:46:51 +02:00
David Peter bef66df7e4 Restore original quantity trait and comments 2026-10-05 10:43:13 +02:00
David Peter a8e56efecc Use uom quantities for benchmark measurements 2026-10-05 10:32:32 +02:00
David Peter db3a3dedc7 Collect benchmark runs in Measurements 2026-10-05 10:10:09 +02:00
David Peter 35c94a0e36 Clarify internal measurement field names 2026-10-05 10:09:41 +02:00
David Peter 750fe11b85 Merge pull request #954 from sharkdp/codex/remove-statistical
Replace statistical with local floating-point helpers
2026-10-05 10:03:27 +02:00
David Peter 305e89d536 Consolidate min and max in the statistics module 2026-10-05 10:00:07 +02:00
David Peter 1fb03c3807 Replace statistical with local floating-point helpers 2026-10-05 09:47:33 +02:00
David Peter 6cb9566118 Unify timer and executor measurement results 2026-10-05 09:47:09 +02:00
David Peter fe75d1cb1b Merge pull request #853 from Rohan5commit/docs/fix-comment-typo
docs: fix typo in relative speed comment
2026-10-05 09:46:07 +02:00
c0b3834277 Handle broken pipe errors on stdout gracefully (#932)
Replace `println!` calls on the results paths with `writeln!` on
`io::stdout()` and propagate the `io::Error` to `main`, where
`ErrorKind::BrokenPipe` is turned into a quiet `exit(0)`. This matches
the conventional behavior of command-line tools when their output pipe
is closed early (e.g. `hyperfine ... | head -n 0`), and fixes panics in
all run-output paths: the per-benchmark header and results, the speed
comparison summary, and `-`-style exports to stdout. The warnings and
"Note" outputs to stderr are converted the same way.


---------

Co-authored-by: Mathjk <Mathjk@users.noreply.github.com>
Co-authored-by: David Peter <mail@david-peter.de>
2026-10-02 11:18:56 +02:00
David Peter 4d073e08ae Dependency and MSRV update (#934) 2026-10-02 11:05:02 +02:00
rohan436 7720bfaba8 docs: fix typo in relative speed comment 2026-03-13 13:29:46 +08:00
David Peter b5a6860d96 Support list of exit codes in --ignore-failure 2025-11-18 09:19:27 +01:00
David Peter 98d262c497 Fix warnings 2025-09-03 20:51:44 +02:00
Niklas Dewally 2166c9f02e Add option to name reference command
Add --reference-name option to give a reference command a name.

This was discussed in the PR that added --reference, #744, but
was unfortunately never implemented.
2025-09-03 20:45:39 +02:00
David Peter ebcf794d97 Clippy 2024-12-29 14:07:21 +01:00
David Peter 038f369420 SortOrder field 2024-12-29 14:07:21 +01:00
David Peter 0705d6c7d0 Basic scheduler test 2024-12-29 14:07:21 +01:00
David Peter 6556b2bd46 Initial work on tracking memory usage 2024-12-29 12:18:55 +01:00
David Peter 99d24b7a2e Multiple output policies 2024-11-11 22:24:25 +01:00
David Carlier 2899deb8fd apply clippy advices on executor/commands lifetimes. 2024-11-11 08:47:33 +01:00
David Peter 83f04cdd31 Add iteration information to failure error message 2024-11-10 22:26:13 +01:00
Jan-Eric Nitschke 13547e973c Change message for identical time and add test for it 2024-06-30 22:45:40 +02:00
Jan-Eric Nitschke d4749b015f Fix prepare and conclude behaviour and add tests. 2024-06-30 22:45:40 +02:00
Jan-Eric Nitschke 9806ed7694 Added option to manually specify a reference to compare the results to. 2024-06-30 22:45:40 +02:00