File tree Expand file tree Collapse file tree 1 file changed +15
-3
lines changed
src/pytest_codspeed/instruments Expand file tree Collapse file tree 1 file changed +15
-3
lines changed Original file line number Diff line number Diff line change @@ -51,11 +51,14 @@ def from_codspeed_config(cls, config: CodSpeedConfig) -> BenchmarkConfig:
51
51
class BenchmarkStats :
52
52
min_ns : float
53
53
max_ns : float
54
- stdev_ns : float
55
54
mean_ns : float
55
+ stdev_ns : float
56
+
57
+ lower_fence_ns : float
56
58
q1_ns : float
57
59
median_ns : float
58
60
q3_ns : float
61
+ upper_fence_ns : float
59
62
60
63
rounds : int
61
64
total_time : float
@@ -76,17 +79,26 @@ def from_list(
76
79
stdev_ns = stdev (times_ns ) if len (times_ns ) > 1 else 0
77
80
mean_ns = mean (times_ns )
78
81
q1_ns , median_ns , q3_ns = quantiles (times_ns , n = 4 )
82
+ iqr_ns = q3_ns - q1_ns
83
+ lower_fence_ns = q1_ns - 1.5 * iqr_ns
84
+ upper_fence_ns = q3_ns + 1.5 * iqr_ns
85
+ outliers_rounds = sum (
86
+ 1 for t in times_ns if t < lower_fence_ns or t > upper_fence_ns
87
+ )
88
+
79
89
return cls (
80
90
min_ns = min (times_ns ),
81
91
max_ns = max (times_ns ),
82
92
stdev_ns = stdev_ns ,
83
93
mean_ns = mean_ns ,
84
- median_ns = median_ns ,
94
+ lower_fence_ns = lower_fence_ns ,
85
95
q1_ns = q1_ns ,
96
+ median_ns = median_ns ,
86
97
q3_ns = q3_ns ,
98
+ upper_fence_ns = upper_fence_ns ,
87
99
rounds = rounds ,
88
100
total_time = total_time ,
89
- outlier_rounds = sum ( 1 for t in times_ns if abs ( t - mean_ns ) > stdev_ns ) ,
101
+ outlier_rounds = outliers_rounds ,
90
102
iter_per_round = iter_per_round ,
91
103
warmup_iters = warmup_iters ,
92
104
)
You can’t perform that action at this time.
0 commit comments