aboutsummaryrefslogtreecommitdiff
path: root/src/analysis/mod.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/analysis/mod.rs')
-rwxr-xr-xsrc/analysis/mod.rs13
1 files changed, 12 insertions, 1 deletions
diff --git a/src/analysis/mod.rs b/src/analysis/mod.rs
index caa948d..1c072e1 100755
--- a/src/analysis/mod.rs
+++ b/src/analysis/mod.rs
@@ -13,7 +13,7 @@ use crate::estimate::{
};
use crate::fs;
use crate::measurement::Measurement;
-use crate::report::{BenchmarkId, ReportContext};
+use crate::report::{BenchmarkId, Report, ReportContext};
use crate::routine::Routine;
use crate::{Baseline, Criterion, SavedSample, Throughput};
@@ -105,11 +105,22 @@ pub(crate) fn common<M: Measurement, T: ?Sized>(
conn.serve_value_formatter(criterion.measurement.formatter())
.unwrap();
+ return;
}
}
criterion.report.analysis(id, report_context);
+ if times.iter().any(|&f| f == 0.0) {
+ error!(
+ "At least one measurement of benchmark {} took zero time per \
+ iteration. This should not be possible. If using iter_custom, please verify \
+ that your routine is correctly measured.",
+ id.as_title()
+ );
+ return;
+ }
+
let avg_times = iters
.iter()
.zip(times.iter())