#benchmark #toml #performance #hyperfine

app hypcmp

运行hyperfine与toml文件结合的扩展,带有commit开关

8个版本

0.3.2 2022年11月28日
0.3.1 2022年11月26日
0.2.4 2022年9月6日
0.1.1 2022年9月5日

性能分析 中排名 #236

每月下载量 26

MIT/Apache

20KB
473 代码行

MIT license Version Downloads

hypcmp

使用TOML配置文件对应用程序进行基准测试的hyperfine方法。这还允许使用commits = [...]属性跨提交进行基准测试。

跨提交的基准测试仅在git状态为干净时才可能。

示例

hyperfine_params = [  # common hyperfine parameters for all runs
    "--runs", "5",
    "--warmup", "3",
    "--style", "none",
]

[run.dd]
command = "dd if=Cargo.toml of=/tmp/Cargo.toml.dd"

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

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

更复杂的示例

hyperfine_params = [  # common hyperfine parameters for all runs
    "--runs", "5",
    "--warmup", "3",
    "--parameter-list", "ifile", "Cargo.toml,README.md",
    "--parameter-list", "ofile", "/tmp/test.raw",
]

[run.dd]
commits = ["main"] # can be full commit id, an abbreviated id w/ 7 letters, tag or branch
command = "dd if={ifile} of={ofile}"
cleanup = "rm {ofile}"

[run.cp]
command = "cp {ifile} {ofile}"

[run.rsync]
command = "rsync -a {ifile} {ofile}"

更多示例可以在示例文件夹中找到。

依赖

约8-20MB
约258K SLoC