Commit Graph
33 Commits
Author SHA1 Message Date
David Peter bdbfae9907 Alternative performance metrics in the terminal (#986) 2026-10-06 15:50:19 +02:00
David Peter b5f58651a1 Extract quantity and command helpers 2026-10-05 11:14:09 +02:00
David Peter 4d073e08ae Dependency and MSRV update (#934) 2026-10-02 11:05:02 +02:00
Teodoro Freund 835fc43ea1 Fixed bug on naming individual commands with parameter scan 2025-09-03 20:44:07 +02: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 Carlier f096c266f0 fix build warning proposal
```rust
warning: elided lifetime has a name
   --> src/command.rs:137:66
    |
136 | impl<'a> Commands<'a> {
    |      -- lifetime `'a` declared here
137 |     pub fn from_cli_arguments(matches: &'a ArgMatches) -> Result<Commands> {
    |                                                                  ^^^^^^^^ this elided lifetime gets resolved as `'
```
2024-11-10 20:45:03 +01:00
Hamir Mahal 981db9d102 fix: formatting in src/command.rs 2024-06-01 11:07:23 +02:00
Hamir Mahal ef1263279d style: simplify string interpolation 2024-06-01 11:07:23 +02:00
one230six c0921351e7 refactor: Optimize code based on cargo clippy suggestions
Signed-off-by: one230six <723682061@qq.com>

refactor: Optimize code based on cargo clippy suggestions

Signed-off-by: one230six <723682061@qq.com>
2024-03-14 08:46:35 +01:00
Hamir Mahal 6c774103d9 refactor: replace repeated string allocation
on each iteration with one `String` creation in
`fold`, for efficiency
2024-03-12 21:32:40 +01:00
Hamir Mahal 96f8ae52ad refactor: remove redundant redefinition 2024-03-10 21:02:09 +01:00
David Peter 3d4710f6e0 Clippy suggestions 2023-06-03 23:24:11 +02:00
David Peter a8752769ab Show unused parameters in command names
closes #600
2023-04-20 21:39:23 +02:00
Benjamin Rombaut 781a6815c1 remove unneeded var 2022-11-19 15:13:30 +01:00
Benjamin Rombaut a2e85a25b6 remove unneeded var 2022-11-19 15:13:30 +01:00
Benjamin Rombaut fcaa6d32dc chore: run fmt 2022-11-19 15:13:30 +01:00
Benjamin Rombaut 8d38ef3eaa update to clap 4 2022-11-19 15:13:30 +01:00
Benjamin Rombaut 5fcb7166a9 add clap deprecation notices 2022-11-19 15:13:30 +01:00
Sendhil Panchadsaram 8c2ef10633 Fix typo in unit test.
src/command.rs: test_parameterr_scan_commands_names -> test_parameter_scan_commands_names
2022-10-06 16:09:11 +02:00
David Peter c7e56942f7 Fix clippy suggestions 2022-09-07 09:20:50 +02:00
David Peter d9418e0731 Use raw executor by default, skip intermediate shell
This adds a new "raw executor" (next to the "shell executor") that
allows hyperfine to execute commands directly without any intermediate
shell.

The command line is split into tokens (using the `shell-words` crate),
and according to POSIX rules. The first token is taken as the executable,
and the rest as arguments.

The new executor is enabled by default. In order to select the shell
executor, users will have to pass `--shell=default`.

This allows us to reduce measurement noise and to benchmark very quick
commands. It also decreases the time to run benchmarks, as we don't need
the calibration phase.

Also, it allows one to make sure that the executed command is not
implemented as a shell builtin. For example `hyperfine true`
and `hyperfine --shell=default true` return different times due
to the fact that `bash` executes `true` as a NOP.

Co-authored: Ciprian Dorin Craciun <ciprian@volution.ro>
2022-02-22 22:51:09 +01:00
David Peter f2f1dd9d40 Update dependencies 2022-02-22 14:04:07 +01:00
David Peter 826449bc8f Rename to get_command_line 2022-02-22 13:24:05 +01:00
David Peter 39c7736095 Move functions into Scheduler 2022-02-22 09:07:40 +01:00
David Peter 250db61fa0 Fix clippy warning 2022-02-22 09:07:40 +01:00
David Peter 833529f733 Refactor command.rs 2022-02-19 16:53:02 +01:00
David Peter 6db82cdb2a Split range into range_step and commands 2022-02-06 22:49:04 +01:00
David Peter a6baf49b72 Introduce Commands struct 2022-02-06 22:49:04 +01:00
David Peter 47091a5740 New parameter module 2022-02-06 20:19:50 +01:00
David Peter cd38e9c63b Move build_commands 2022-02-06 20:19:50 +01:00
David Peter 9df6174bc2 Re-order imports 2021-08-24 22:44:08 +02:00
David Peter 30c381fe2a Flat directory/module structure 2021-08-24 22:44:08 +02:00