13 个版本
0.1.12 | 2024 年 6 月 19 日 |
---|---|
0.1.11 | 2024 年 6 月 19 日 |
0.1.8 | 2024 年 5 月 28 日 |
#87 in 性能分析
每月下载 92 次
38KB
899 代码行
能源基准测试工具(Alpha版)
基准测试程序能耗的工具。结果不包括空闲能耗和数据生成能耗。使用 EnergyTool::new()
创建一个新的基准测试构建器。使用 benchmark(bench_fn, data_fn)
开始对函数 bench_fn
和数据 data_fn
的基准测试。此函数返回一个包含测量数据的 JSON。
use energy_bench::EnergyTool;
let builder = EnergyTool::new();
let json = builder.benchmark(bench_fn, data_fn);
有些程序运行时间太短,无法提供准确的能耗测量结果。为了避免这种情况,可以在测量之间重复执行基准测试:使用 with_runs_per_measurement
。或者,可以重复执行,直到经过一定的时间:使用 with_min_measurement_duration
。默认情况下,基准测试至少运行 100ms。
let builder = EnergyTool::new().with_runs_per_measurement(10);
let builder = EnergyTool::new().with_min_measurement_duration(Duration::from_secs(5));
基准测试结果可以直接写入文件
let file = &File::create("the_file.json")?;
let builder = EnergyTool::new().write_to_file(file);
空闲能耗总是预先计算,并从结果中减去。默认持续时间为一分钟,但可以增加
let builder = EnergyTool::new().with_idle_duration(Duration::from_secs(90));
特性
我们支持多种测量设备。
目前,我们支持 rapl
和 ina
功能。
对于 AMD 用户,可以通过添加 amd
标志来读取 RAPL。
依赖项
~1.2–7MB
~44K SLoC