Crates.io | energy-bench |
lib.rs | energy-bench |
version | 0.1.30 |
source | src |
created_at | 2024-05-06 08:38:28.868456 |
updated_at | 2024-12-09 10:53:53.37181 |
description | Methods for benchmarking the energy consumption of programs. |
homepage | |
repository | https://gitlab.com/software-energy-lab/energy-benchmarking |
max_upload_size | |
id | 1230986 |
size | 81,325 |
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();