aboutsummaryrefslogtreecommitdiffstats
path: root/components
diff options
context:
space:
mode:
Diffstat (limited to 'components')
-rw-r--r--components/profile/time.rs17
1 files changed, 11 insertions, 6 deletions
diff --git a/components/profile/time.rs b/components/profile/time.rs
index 4659178b506..76ac26497e9 100644
--- a/components/profile/time.rs
+++ b/components/profile/time.rs
@@ -328,12 +328,17 @@ impl Profiler {
}
pub fn get_statistics(data: &[f64]) -> (f64, f64, f64, f64) {
- let data_len = data.len();
- let (mean, median, min, max) =
- (data.iter().sum::<f64>() / (data_len as f64),
- data[data_len / 2],
- data.iter().fold(f64::INFINITY, |a, &b| a.min(b)),
- data.iter().fold(-f64::INFINITY, |a, &b| a.max(b)));
+ data.iter().fold(-f64::INFINITY, |a, &b| {
+ debug_assert!(a < b, "Data must be sorted");
+ b
+ });
+
+ let data_len = data.len();
+ let (mean, median, min, max) =
+ (data.iter().sum::<f64>() / (data_len as f64),
+ data[data_len / 2],
+ data.iter().fold(f64::INFINITY, |a, &b| a.min(b)),
+ data.iter().fold(-f64::INFINITY, |a, &b| a.max(b)));
(mean, median, min, max)
}