Runs => Measurements

This commit is contained in:
David Peter authored and David Peter committed 2026-10-05 15:57:26 +02:00
1 parent 8ba632c954
commit d4c6b53e40
8 files changed
+146 -232

No files matched your search

+18 -15
View File
@@ -45,12 +45,12 @@ impl Exporter for CsvExporter {
let mut fields = vec![Cow::Borrowed(res.command.as_bytes())];
for f in &[
res.mean_wall_clock_time(),
res.runs.stddev().unwrap_or(0.0),
res.runs.median(),
res.runs.user_mean(),
res.runs.system_mean(),
res.runs.min(),
res.runs.max(),
res.measurements.stddev().unwrap_or(0.0),
res.measurements.median(),
res.measurements.user_mean(),
res.measurements.system_mean(),
res.measurements.min(),
res.measurements.max(),
] {
fields.push(Cow::Owned(
f.format_with_precision(CSV_UNIT, CSV_PRECISION)
@@ -68,7 +68,10 @@ impl Exporter for CsvExporter {
}
#[cfg(test)]
use crate::benchmark::benchmark_result::{Parameter, Run, Runs};
use crate::benchmark::benchmark_result::Parameter;
#[cfg(test)]
use crate::benchmark::measurement::{Measurement, Measurements};
#[test]
fn test_csv() {
@@ -84,22 +87,22 @@ fn test_csv() {
let results = vec![
BenchmarkResult {
command: String::from("command_a"),
runs: Runs::new(vec![
Run {
measurements: Measurements::new(vec![
Measurement {
wall_clock_time: 7.0,
user_time: 7.0,
system_time: 0.0,
memory_usage_byte: 1024,
exit_code: Some(0),
},
Run {
Measurement {
wall_clock_time: 8.0,
user_time: 8.0,
system_time: 0.0,
memory_usage_byte: 1024,
exit_code: Some(0),
},
Run {
Measurement {
wall_clock_time: 12.0,
user_time: 12.0,
system_time: 0.0,
@@ -128,22 +131,22 @@ fn test_csv() {
},
BenchmarkResult {
command: String::from("command_b"),
runs: Runs::new(vec![
Run {
measurements: Measurements::new(vec![
Measurement {
wall_clock_time: 17.0,
user_time: 17.0,
system_time: 0.0,
memory_usage_byte: 1024,
exit_code: Some(0),
},
Run {
Measurement {
wall_clock_time: 18.0,
user_time: 18.0,
system_time: 0.0,
memory_usage_byte: 1024,
exit_code: Some(0),
},
Run {
Measurement {
wall_clock_time: 19.0,
user_time: 19.0,
system_time: 0.0,
+1 -1
View File
@@ -52,7 +52,7 @@ pub trait MarkupExporter {
// prepare data row strings
let cmd_str = result.command_with_unused_parameters().replace('|', "\\|");
let mean_str = format_duration_value(result.mean_wall_clock_time(), Some(unit)).0;
let stddev_str = if let Some(stddev) = result.runs.stddev() {
let stddev_str = if let Some(stddev) = result.measurements.stddev() {
format!(" ± {}", format_duration_value(stddev, Some(unit)).0)
} else {
"".into()
+34 -33
View File
@@ -1,5 +1,6 @@
use super::Exporter;
use crate::benchmark::benchmark_result::{BenchmarkResult, Run, Runs};
use crate::benchmark::benchmark_result::BenchmarkResult;
use crate::benchmark::measurement::{Measurement, Measurements};
use crate::export::asciidoc::AsciidocExporter;
use crate::export::orgmode::OrgmodeExporter;
use crate::quantity::{byte, second, Information, Time, TimeUnit, Zero};
@@ -27,22 +28,22 @@ fn test_markup_export_auto_ms() {
let results = [
BenchmarkResult {
command: String::from("sleep 0.1"),
runs: Runs::new(vec![
Run {
measurements: Measurements::new(vec![
Measurement {
wall_clock_time: 0.09,
user_time: 0.09,
system_time: 0.,
memory_usage_byte: 1024,
exit_code: Some(0),
},
Run {
Measurement {
wall_clock_time: 0.10,
user_time: 0.10,
system_time: 0.,
memory_usage_byte: 1024,
exit_code: Some(0),
},
Run {
Measurement {
wall_clock_time: 0.14,
user_time: 0.14,
system_time: 0.,
@@ -54,22 +55,22 @@ fn test_markup_export_auto_ms() {
},
BenchmarkResult {
command: String::from("sleep 2"),
runs: Runs::new(vec![
Run {
measurements: Measurements::new(vec![
Measurement {
wall_clock_time: 2.0,
user_time: 2.0,
system_time: 0.,
memory_usage_byte: 1024,
exit_code: Some(0),
},
Run {
Measurement {
wall_clock_time: 3.0,
user_time: 3.0,
system_time: 0.,
memory_usage_byte: 1024,
exit_code: Some(0),
},
Run {
Measurement {
wall_clock_time: 4.0,
user_time: 4.0,
system_time: 0.,
@@ -126,22 +127,22 @@ fn test_markup_export_auto_s() {
let results = [
BenchmarkResult {
command: String::from("sleep 2"),
runs: Runs::new(vec![
Run {
measurements: Measurements::new(vec![
Measurement {
wall_clock_time: 2.1,
user_time: 2.1,
system_time: 0.,
memory_usage_byte: 1024,
exit_code: Some(0),
},
Run {
Measurement {
wall_clock_time: 2.2,
user_time: 2.2,
system_time: 0.,
memory_usage_byte: 1024,
exit_code: Some(0),
},
Run {
Measurement {
wall_clock_time: 2.3,
user_time: 2.3,
system_time: 0.,
@@ -153,22 +154,22 @@ fn test_markup_export_auto_s() {
},
BenchmarkResult {
command: String::from("sleep 0.1"),
runs: Runs::new(vec![
Run {
measurements: Measurements::new(vec![
Measurement {
wall_clock_time: 0.1,
user_time: 0.1,
system_time: 0.,
memory_usage_byte: 1024,
exit_code: Some(0),
},
Run {
Measurement {
wall_clock_time: 0.2,
user_time: 0.2,
system_time: 0.,
memory_usage_byte: 1024,
exit_code: Some(0),
},
Run {
Measurement {
wall_clock_time: 0.3,
user_time: 0.3,
system_time: 0.,
@@ -225,22 +226,22 @@ fn test_markup_export_manual_ms() {
let timing_results = [
BenchmarkResult {
command: String::from("sleep 2"),
runs: Runs::new(vec![
Run {
measurements: Measurements::new(vec![
Measurement {
wall_clock_time: 2.1,
user_time: 2.1,
system_time: 0.,
memory_usage_byte: 1024,
exit_code: Some(0),
},
Run {
Measurement {
wall_clock_time: 2.2,
user_time: 2.2,
system_time: 0.,
memory_usage_byte: 1024,
exit_code: Some(0),
},
Run {
Measurement {
wall_clock_time: 2.3,
user_time: 2.3,
system_time: 0.,
@@ -252,22 +253,22 @@ fn test_markup_export_manual_ms() {
},
BenchmarkResult {
command: String::from("sleep 0.1"),
runs: Runs::new(vec![
Run {
measurements: Measurements::new(vec![
Measurement {
wall_clock_time: 0.1,
user_time: 0.1,
system_time: 0.,
memory_usage_byte: 1024,
exit_code: Some(0),
},
Run {
Measurement {
wall_clock_time: 0.2,
user_time: 0.2,
system_time: 0.,
memory_usage_byte: 1024,
exit_code: Some(0),
},
Run {
Measurement {
wall_clock_time: 0.3,
user_time: 0.3,
system_time: 0.,
@@ -323,22 +324,22 @@ fn test_markup_export_manual_s() {
let results = [
BenchmarkResult {
command: String::from("sleep 2"),
runs: Runs::new(vec![
Run {
measurements: Measurements::new(vec![
Measurement {
wall_clock_time: 2.01,
user_time: 2.01,
system_time: 0.,
memory_usage_byte: 1024,
exit_code: Some(0),
},
Run {
Measurement {
wall_clock_time: 2.02,
user_time: 2.02,
system_time: 0.,
memory_usage_byte: 1024,
exit_code: Some(0),
},
Run {
Measurement {
wall_clock_time: 2.03,
user_time: 2.03,
system_time: 0.,
@@ -350,22 +351,22 @@ fn test_markup_export_manual_s() {
},
BenchmarkResult {
command: String::from("sleep 0.1"),
runs: Runs::new(vec![
Run {
measurements: Measurements::new(vec![
Measurement {
wall_clock_time: 0.11,
user_time: 0.11,
system_time: 0.,
memory_usage_byte: 1024,
exit_code: Some(0),
},
Run {
Measurement {
wall_clock_time: 0.12,
user_time: 0.12,
system_time: 0.,
memory_usage_byte: 1024,
exit_code: Some(0),
},
Run {
Measurement {
wall_clock_time: 0.13,
user_time: 0.13,
system_time: 0.,