hypcmp 0.3.2

Extension to run hyperfine with toml files w/ commit switches.
# Common `hyperfine` parameters.
# The following settings are shared by all runs defined in the next section.
# Most commonly here are the setups `run`, `warmup` and `parameter-lists` shared
# by each individual run.
#
# - `run`: Number of executions of each individual run
# - `warmup`: Number of executions of each individual run for cache warmup
# - `parameters`: Shared variables for all runs e.g. input files for all runs
#   + `parameter-scan <var> <start> <end>`: Numerical integer step size for parameters
#   + `parameter-scan <var> <start> <end> -D <steps>`: Numerical step size for parameters
#   + `parameter-scan <var> <param1>,<param2>,<param3>,...`: Qualitative list of parameters
hyperfine_params = [
    "--runs", "5",
    "--warmup", "3",
    "--parameter-list", "ifile", "Cargo.toml,README.md",
]

# Settings for individual runs to be benchmarked by `hyperfine`
#
# - `commits`: List of commit-ids to be run for each command
#   + Allowed are branches, tags, full and 7-char commit-ids
#   + Special case flags:
#       * `--all` runs command on all commits using 7-char commit-ids
#       * `--branches` runs command on all branches
#       * `--tags` runs command on all tags
#       * `--since=<commit-id>` runs command on all commits since specific commit-id (incl.)
#       * `--before=<commit-id>` runs command on all commits before specific commit-id (incl.)
#    + Special case flags `--since` and `--before` can be combined
#    + Special case flags take preference to other tags, branches or commit-ids given
# - `cleanup`: Command to be executed after all timed runs are done
# - `prepare`: Command to be executed before **each** timing run
# - `setup`: Command to be executed before all timed runs are initiated
# - `shell`: Setting for the shell script. Recommended is to use `none`, specifically
#            not if `setup` and `commits` is used.
# - `command`: Command to be executed (mandatory)
[run.dd]
commits = ["main", "1fa7dfe"]
cleanup = "rm /tmp/Cargo.toml.dd"
prepare = "echo 3"
setup = "which ls"
shell = "none"
command = "dd if={ifile} of=/tmp/Cargo.toml.dd"

[run.cp]
command = "cp {ifile} /tmp/Cargo.toml.cp"

[run.rsync]
command = "rsync -a {ifile} /tmp/Cargo.toml.rsync"