@@ -272,27 +272,6 @@ impl QueryMeasurement {
272272 )
273273 }
274274 }
275-
276- /// Compute |z-score| = |median - mean| / stddev for the runs.
277- /// Returns `None` if fewer than 2 runs (stddev is undefined).
278- pub fn abs_z_score ( & self ) -> Option < f64 > {
279- let n = self . runs . len ( ) ;
280- if n < 2 {
281- return None ;
282- }
283-
284- let nanos: Vec < f64 > = self . runs . iter ( ) . map ( |d| d. as_nanos ( ) as f64 ) . collect ( ) ;
285- let mean = nanos. iter ( ) . sum :: < f64 > ( ) / n as f64 ;
286- let variance = nanos. iter ( ) . map ( |x| ( x - mean) . powi ( 2 ) ) . sum :: < f64 > ( ) / ( n - 1 ) as f64 ;
287- let stddev = variance. sqrt ( ) ;
288-
289- if stddev == 0.0 {
290- return Some ( 0.0 ) ;
291- }
292-
293- let median = self . median_run ( ) . as_nanos ( ) as f64 ;
294- Some ( ( ( median - mean) / stddev) . abs ( ) )
295- }
296275}
297276
298277#[ derive( Serialize , Deserialize ) ]
@@ -303,10 +282,6 @@ pub struct QueryMeasurementJson {
303282 pub unit : String ,
304283 pub value : u128 ,
305284 pub all_runtimes : Vec < u128 > ,
306- /// Absolute z-score of the median relative to the mean: |median - mean| / stddev.
307- /// Indicates how representative the reported median is. `None` when fewer than 2 runs.
308- #[ serde( skip_serializing_if = "Option::is_none" ) ]
309- pub abs_z_score : Option < f64 > ,
310285 pub target : Target ,
311286 pub commit_id : String ,
312287 pub env_triple : TripleJson ,
@@ -338,7 +313,6 @@ impl ToJson for QueryMeasurement {
338313 unit : "ns" . to_string ( ) ,
339314 value : self . median_run ( ) . as_nanos ( ) ,
340315 all_runtimes : self . runs . iter ( ) . map ( |r| r. as_nanos ( ) ) . collect_vec ( ) ,
341- abs_z_score : self . abs_z_score ( ) ,
342316 commit_id : GIT_COMMIT_ID . to_string ( ) ,
343317 target : self . target ,
344318 env_triple : TripleJson {
0 commit comments