23 releases
new 0.1.22 | Nov 6, 2024 |
---|---|
0.1.21 | Oct 31, 2024 |
0.1.17 | Sep 10, 2024 |
0.1.12 | Jun 19, 2024 |
0.1.8 | May 28, 2024 |
#118 in Profiling
574 downloads per month
18KB
303 lines
Energy Benchmarking Tool
Tool for benchmarking the energy consumption of programs.
Idle energy consumption and energy consumed by data generation are not included in the results.
A new benchmark builder is created with EnergyBenchBuilder::new()
.
A benchmark of function bench_fn
with data data_fn
can be started with benchmark(name, data_fn, bench_fn)
.
This function returns a JSON of measurement data.
Check out the energy-benchmarking-example project for a minimal example.
use energy_bench::EnergyTool;
let bench = EnergyBenchBuilder::new("benchmark name").build();
bench.benchmark("instance name", data_fn, bench_fn);
Some programs are too short-running to provide accurate energy measurement results.
To avoid this, the benchmark can be repeated until a given amount of time has passed: with_min_measurement_duration
.
By default, benchmarks are run for at least 100ms.
let bench = EnergyBenchBuilder::new("benchmark name")
.with_min_measurement_duration(Duration::from_secs(2))
.build();
Dependencies
~1.7–3.5MB
~52K SLoC