David Peter
bbde07fcf6
Update dependencies
2022-06-26 21:20:24 +02:00
David Peter
b989a2afa6
Add new unreleased section
2022-05-17 22:57:20 +02:00
David Peter
ec4321392f
Fix clippy warnings
2022-05-17 22:57:10 +02:00
David Peter
623ce2d2d9
Bump version
2022-05-17 22:37:08 +02:00
David Peter
f75f0a10fe
Use cross to build x86_64-unknown-linux-gnu executables
...
We do this in order to link against older versions of glibc.
closes #508
2022-05-16 21:15:57 +02:00
David Peter
692469659b
Add CHANGELOG entry for Emacs org-mode
2022-05-15 21:58:47 +02:00
David Peter
eb0ccc85f1
Adapt to new markup exporter changes
2022-05-15 21:57:35 +02:00
David Peter
e3bc5b8b25
Simplify test
2022-05-15 21:37:40 +02:00
David Peter
8c05fd030d
table_line => table_divider
2022-05-15 21:37:40 +02:00
David Peter
5cd2821266
table_data => table_row
2022-05-15 21:37:40 +02:00
David Peter
7fdb32d202
Remove superfluous newline
2022-05-15 21:37:40 +02:00
David Peter
339f6661ce
Move determine_unit_from_results
2022-05-15 21:37:40 +02:00
David Peter
4cdf2d5152
Implement Exporter for all MarkupExporters
2022-05-15 21:37:40 +02:00
David Peter
9a46bcc390
Remove the TestExporter
2022-05-15 21:37:40 +02:00
David Peter
6fe7738165
Do not pass 'unit' into determine_unit_from_results
2022-05-15 21:37:40 +02:00
David Peter
8741d05d11
Move Exporter::unit => determine_unit_from_results
2022-05-15 21:37:40 +02:00
David Peter
94b40d274e
Update execution order image
2022-03-05 13:10:46 +01:00
David Peter
4593572d9d
Add whisker plot
2022-03-05 13:02:40 +01:00
David Peter
79f3957879
Update CHANGELOG
2022-03-05 13:01:44 +01:00
David Peter
02157eb6ca
Add histogram image
2022-03-05 12:51:01 +01:00
David Peter
65932dd5ce
Update warning text
2022-03-05 12:47:30 +01:00
David Peter
5c676a9626
Bump version to v1.13.0
2022-03-05 12:10:38 +01:00
David Peter
f1557d47fb
Add plot_progression.py
2022-03-05 12:03:29 +01:00
David Peter
bcd3705ce0
Add number of runs to advanced_statistics.py
2022-03-05 11:53:59 +01:00
David Peter
176275ecab
Update dependencies
2022-03-05 11:53:45 +01:00
David Peter
0601a1971e
Add --t-min/--t-max to histogram script
2022-02-27 20:11:13 +01:00
David Peter
f742329f1e
Adjust image size
2022-02-27 17:04:00 +01:00
David Peter
d13454a0d4
Add additional integration test for failing command
2022-02-22 22:51:09 +01:00
David Peter
e666b01e09
Add simple integation test for --shell=none
2022-02-22 22:51:09 +01:00
David Peter
e38ac46179
Add CHANGELOG entry
2022-02-22 22:51:09 +01:00
David Peter
365ff2584d
Switch to --shell=none/-N, do not change the default
2022-02-22 22:51:09 +01: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
308bf5cd26
Extract common functionality
2022-02-22 13:24:05 +01:00
David Peter
f19223ba9d
Simplify
2022-02-22 13:24:05 +01:00
David Peter
7fd4aea495
Rename to TimerResult
2022-02-22 13:24:05 +01:00
David Peter
55f0ef6637
Move wall clock timer into execute_and_measure
2022-02-22 13:24:05 +01:00
David Peter
e001530f61
Change argument order
2022-02-22 13:24:05 +01:00
David Peter
d27cbceed2
Add integration test for --show-output
2022-02-22 13:24:05 +01:00
David Peter
9b8f2a9ee2
Move Stdio extraction to enum
2022-02-22 13:24:05 +01:00
David Peter
e1da8ba00f
Further simplify execute_and_measure
2022-02-22 13:24:05 +01:00
David Peter
0ffc6d7cc0
Move to timer module
2022-02-22 13:24:05 +01:00
David Peter
1f3943e7d1
Move custom functionality to executor
2022-02-22 13:24:05 +01:00
David Peter
f822455d99
Rename functions
2022-02-22 13:24:05 +01:00
David Peter
7c929f7e48
Rename to run_command_and_measure
2022-02-22 13:24:05 +01:00
David Peter
826449bc8f
Rename to get_command_line
2022-02-22 13:24:05 +01:00
David Peter
defafdf707
Refactor timer module
2022-02-22 10:51:06 +01:00
David Peter
f029a46ff9
Fix clippy warnings
2022-02-22 10:13:06 +01:00
David Peter
b6ff23a77f
Update outdated comment
2022-02-22 10:08:15 +01:00
David Peter
eb72702956
Update LICENSE
2022-02-22 10:05:04 +01:00
David Peter
197e5df9f0
Add environment randomization on Windows
2022-02-22 09:42:31 +01:00
David Peter
cb6f2f7c4e
Remove comment
2022-02-22 09:15:40 +01:00
David Peter
62e82a9b4b
Update CHANGELOG
2022-02-22 09:15:25 +01:00
David Peter
6887835f34
Proper shell overhead computation
2022-02-22 09:07:40 +01:00
David Peter
6f51232a8a
Add debug/mock mode
2022-02-22 09:07:40 +01:00
David Peter
3348b37b8e
Faster tests
2022-02-22 09:07:40 +01:00
David Peter
c0ce6b9537
Add integration test for '--shell'
2022-02-22 09:07:40 +01:00
David Peter
5c9c8c2383
New Benchmark struct
2022-02-22 09:07:40 +01:00
David Peter
d3c7c7974a
Improve error message
2022-02-22 09:07:40 +01:00
David Peter
701a38323d
Formatting
2022-02-22 09:07:40 +01:00
David Peter
8c5ae87ca2
Better error handling in run_intermediate_command
2022-02-22 09:07:40 +01:00
David Peter
662d5ca9ac
Restructure run_intermediate_command
2022-02-22 09:07:40 +01:00
David Peter
f4ef945923
Update BenchmarkResult documentation
2022-02-22 09:07:40 +01:00
David Peter
021583b89b
Simplify code
2022-02-22 09:07:40 +01:00
David Peter
0b5ad72872
Rename to command
2022-02-22 09:07:40 +01:00
David Peter
4cfccf1168
Rename num
2022-02-22 09:07:40 +01:00
David Peter
fa2eaaac5f
Move functionality into run_cleanup_command
2022-02-22 09:07:40 +01:00
David Peter
ffa1c0e839
Remove more function arguments
2022-02-22 09:07:40 +01:00
David Peter
39c7736095
Move functions into Scheduler
2022-02-22 09:07:40 +01:00
David Peter
dcfeede18e
Move functionality to scheduler
2022-02-22 09:07:40 +01:00
David Peter
b658e20110
Move exit code function to separate file
2022-02-22 09:07:40 +01:00
David Peter
811e6b5fcd
Rename test
2022-02-22 09:07:40 +01:00
David Peter
6645fa10b9
Use get_program
2022-02-22 09:07:40 +01:00
David Peter
21f76a338f
Remove unused option
2022-02-22 09:07:40 +01:00
David Peter
f9e62e5e7f
Rename parse to from_str
2022-02-22 09:07:40 +01:00
David Peter
0ebd76dfc2
Turn show_output into enum
2022-02-22 09:07:40 +01:00
David Peter
f9334e15fc
Rename _res to _result
2022-02-22 09:07:40 +01:00
David Peter
bea0cfab30
Rename Runs to RunBounds
2022-02-22 09:07:40 +01:00
David Peter
250db61fa0
Fix clippy warning
2022-02-22 09:07:40 +01:00
David Peter
2d0cd4b53c
Modify doc comment
2022-02-19 16:53:02 +01:00
David Peter
833529f733
Refactor command.rs
2022-02-19 16:53:02 +01:00
David Peter
bf4d78dcaf
Update code comments
2022-02-19 16:53:02 +01:00
David Peter
72d27729fa
New Scheduler struct
2022-02-19 16:53:02 +01:00
David Peter
39984a3896
Fix SVG
2022-02-06 22:52:11 +01:00
David Peter
5df981ae7b
Expand execution order tests
2022-02-06 22:50:11 +01:00
David Peter
aae3a4116f
Add diagram explaining execution order
2022-02-06 22:50:11 +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
c5a2266199
New schedule module
2022-02-06 20:19:50 +01:00
David Peter
5c634c9f2f
Move a few modules to util
2022-02-06 20:19:50 +01:00
David Peter
999e7c4566
Move more modules around
2022-02-06 20:19:50 +01:00
David Peter
47091a5740
New parameter module
2022-02-06 20:19:50 +01:00
David Peter
865290a144
New output module
2022-02-06 20:19:50 +01:00
David Peter
e5e4c8c020
New 'benchmark' module folder
2022-02-06 20:19:50 +01:00
David Peter
cd38e9c63b
Move build_commands
2022-02-06 20:19:50 +01:00
David Peter
33f8d03d6b
Move build_export_manager to ExportManager
2022-02-06 20:19:50 +01:00
David Peter
b54b2f81f4
Rename to Options
2022-02-06 20:19:50 +01:00
David Peter
39a85b88cf
Move convert_cli_arguments_to_options to HyperfineOptions
2022-02-06 20:19:50 +01:00
David Peter
c4ae7f6f8c
Fix Windows code
2022-02-06 20:19:50 +01:00
David Peter
d7e96928fb
Fix format call
2022-02-06 20:19:50 +01:00