13 个版本

0.1.12 2024 年 6 月 19 日
0.1.11 2024 年 6 月 19 日
0.1.8 2024 年 5 月 28 日

#87 in 性能分析

Download history 232/week @ 2024-05-03 23/week @ 2024-05-10 604/week @ 2024-05-17 358/week @ 2024-05-24 178/week @ 2024-05-31 38/week @ 2024-06-07 322/week @ 2024-06-14 52/week @ 2024-06-21 14/week @ 2024-06-28 71/week @ 2024-07-05 84/week @ 2024-07-26 8/week @ 2024-08-02

每月下载 92 次

Apache-2.0

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));

特性

我们支持多种测量设备。

目前,我们支持 raplina 功能。

对于 AMD 用户,可以通过添加 amd 标志来读取 RAPL。

依赖项

~1.2–7MB
~44K SLoC