energy-bench 0.1.15

Methods for benchmarking the energy consumption of programs.
docs.rs failed to build energy-bench-0.1.15
Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.
Visit the last successful build: energy-bench-0.1.12

Energy Benchmarking Tool (Alpha)

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 EnergyTool::new(). A benchmark of function bench_fn with data data_fn can be started with benchmark(bench_fn, data_fn). This function returns a JSON of measurement data.

use energy_bench::EnergyTool;

let builder = EnergyTool::new();

let json = builder.benchmark(bench_fn, data_fn);

Some programs are too short-running to provide accurate energy measurement results. To avoid this, the benchmark can be repeated a fixed number of type between measurements: with_runs_per_measurement. Or it can be repeated until some amount of time has passed: with_min_measurement_duration. By default, benchmarks are run for at least 100ms.

let builder = EnergyTool::new().with_runs_per_measurement(10);

let builder = EnergyTool::new().with_min_measurement_duration(Duration::from_secs(5));

Idle consumption is always computed beforehand, and is subtracted from the results. The default duration is one minute, however it can be increased with:

let builder = EnergyTool::new().with_idle_duration(Duration::from_secs(90));