Recorded 2026-09-08 , reducers 0.4.0 + overflow fix (eb27fc0) . Environment and setup · Complete output · Excluded baselines
uv run --no-sync python benchmarks/benchmark_1d.py --repeats 15 --warmups 3
Times are median microseconds per call over 15 samples after 3 warmups; the lowest and highest samples are discarded. Short inputs batch repeated calls using max(1, min(100000, 1000000 // length)) calls per sample. Ratios above 1 favor reducers; bold means a ratio above 0.95 (within 5%). - means unavailable; n/a means the baseline failed the accuracy check. Ratios use unrounded times.
Inputs are prebuilt contiguous arrays; reducers uses validate=False. Weights are uniform on [0.5, 1.5). var uses ddof=0, std uses ddof=1. Percentile requests [16, 50, 84]; quantile requests [0.16, 0.50, 0.84]. NaN-aware inputs contain sparse NaNs. For NumPy nanaverage, the validity mask is prepared before timing; selecting values and weights is timed.
Plain, float64
mean
1.18
-
0.13
9.39x
-
average
2.74
-
0.28
9.63x
-
median
4.54
0.12
0.25
18.18x
0.50x
sum
0.82
-
0.18
4.63x
-
min
0.82
-
0.13
6.26x
-
max
0.83
-
0.14
6.10x
-
minmax
1.65
-
0.15
11.05x
-
var
3.49
-
0.17
19.93x
-
std
3.81
-
0.25
15.52x
-
percentile
14.25
-
3.51
4.06x
-
quantile
13.86
-
3.91
3.54x
-
mean
1.16
-
0.14
8.53x
-
average
2.76
-
0.31
8.98x
-
median
4.92
0.19
0.52
9.42x
0.37x
sum
0.84
-
0.18
4.61x
-
min
0.86
-
0.16
5.56x
-
max
0.85
-
0.15
5.62x
-
minmax
1.73
-
0.18
9.70x
-
var
3.68
-
0.21
17.53x
-
std
3.95
-
0.28
14.13x
-
percentile
14.88
-
4.17
3.57x
-
quantile
13.82
-
4.31
3.21x
-
mean
2.44
-
1.53
1.60x
-
average
7.79
-
2.31
3.37x
-
median
28.88
18.49
28.63
1.01x
0.65x
sum
1.97
-
1.80
1.09x
-
min
1.34
-
2.35
0.57x
-
max
1.39
-
2.19
0.63x
-
minmax
2.74
-
3.10
0.88x
-
var
9.38
-
3.76
2.49x
-
std
9.61
-
3.89
2.47x
-
percentile
51.95
-
47.41
1.10x
-
quantile
50.17
-
47.38
1.06x
-
mean
1198.33
-
1353.00
0.89x
-
average
4569.13
-
1872.87
2.44x
-
median
70134.54
67513.58
28021.33
2.50x
2.41x
sum
1229.21
-
1368.46
0.90x
-
min
897.17
-
508.63
1.76x
-
max
939.21
-
504.37
1.86x
-
minmax
1864.04
-
551.83
3.38x
-
var
5038.17
-
3585.33
1.41x
-
std
5194.33
-
3643.00
1.43x
-
percentile
114479.79
-
45393.58
2.52x
-
quantile
114218.25
-
45280.83
2.52x
-
Plain, float32
mean
1.90
-
0.14
13.32x
-
average
2.68
-
0.33
8.11x
-
median
5.46
0.12
0.27
20.45x
0.44x
sum
0.82
-
0.19
4.20x
-
min
0.80
-
0.15
5.44x
-
max
0.81
-
0.15
5.47x
-
minmax
1.65
-
0.16
10.17x
-
var
4.51
-
0.20
23.02x
-
std
4.96
-
0.26
18.96x
-
percentile
14.45
-
3.54
4.08x
-
quantile
14.00
-
3.89
3.60x
-
mean
2.00
-
0.16
12.81x
-
average
2.72
-
0.36
7.66x
-
median
5.59
0.23
0.51
11.04x
0.45x
sum
0.82
-
0.20
4.15x
-
min
0.83
-
0.17
5.03x
-
max
0.85
-
0.15
5.62x
-
minmax
1.66
-
0.18
9.48x
-
var
4.59
-
0.24
19.29x
-
std
4.99
-
0.31
16.09x
-
percentile
14.78
-
4.12
3.59x
-
quantile
14.45
-
4.36
3.31x
-
mean
3.11
-
1.85
1.68x
-
average
6.55
-
3.49
1.88x
-
median
28.41
18.32
27.63
1.03x
0.66x
sum
1.92
-
1.89
1.02x
-
min
1.04
-
1.29
0.81x
-
max
1.02
-
1.26
0.82x
-
minmax
2.08
-
1.60
1.29x
-
var
8.39
-
3.99
2.10x
-
std
8.83
-
4.09
2.16x
-
percentile
51.55
-
45.04
1.14x
-
quantile
50.34
-
45.17
1.11x
-
mean
1143.50
-
1698.96
0.67x
-
average
3310.12
-
3091.21
1.07x
-
median
78067.21
61903.75
27209.46
2.87x
2.28x
sum
1154.08
-
1697.42
0.68x
-
min
429.87
-
299.58
1.43x
-
max
464.17
-
321.33
1.44x
-
minmax
906.62
-
362.21
2.50x
-
var
3538.71
-
3862.71
0.92x
-
std
3581.17
-
3875.25
0.92x
-
percentile
117098.29
-
43294.92
2.70x
-
quantile
117619.17
-
43184.33
2.72x
-
NaN-aware, float64
nanmean
4.27
0.07
0.14
30.61x
0.50x
nanaverage
3.10
-
0.30
10.19x
-
nanmedian
6.58
0.11
0.24
27.51x
0.44x
nansum
1.75
0.07
0.19
9.39x
0.38x
nanmin
1.55
0.06
0.14
10.79x
0.40x
nanmax
1.58
0.06
0.15
10.84x
0.39x
nanminmax
3.18
0.11
0.16
19.58x
0.68x
nanvar
9.43
0.12
0.20
48.20x
0.60x
nanstd
9.86
0.16
0.26
37.95x
0.61x
nanpercentile
16.50
-
3.51
4.70x
-
nanquantile
15.92
-
3.81
4.18x
-
nanmean
4.27
0.16
0.16
26.41x
0.98x
nanaverage
3.15
-
0.32
9.75x
-
nanmedian
6.81
0.21
0.35
19.40x
0.60x
nansum
1.74
0.15
0.20
8.83x
0.78x
nanmin
1.64
0.09
0.16
10.52x
0.57x
nanmax
1.63
0.09
0.16
10.53x
0.57x
nanminmax
3.29
0.17
0.19
17.52x
0.89x
nanvar
9.48
0.29
0.24
39.56x
1.20x
nanstd
9.95
0.33
0.31
32.06x
1.08x
nanpercentile
16.86
-
4.02
4.20x
-
nanquantile
16.15
-
4.31
3.75x
-
nanmean
12.44
12.32
3.16
3.94x
3.90x
nanaverage
16.73
-
3.05
5.48x
-
nanmedian
30.57
20.31
30.88
0.99x
0.66x
nansum
7.54
11.14
3.15
2.39x
3.53x
nanmin
2.27
4.83
1.72
1.32x
2.81x
nanmax
2.25
4.94
1.74
1.30x
2.84x
nanminmax
4.62
9.47
2.27
2.03x
4.17x
nanvar
28.29
24.71
6.28
4.51x
3.94x
nanstd
28.76
24.53
6.36
4.52x
3.86x
nanpercentile
58.11
-
48.18
1.21x
-
nanquantile
54.89
-
49.47
1.11x
-
nanmean
6617.96
11152.88
3055.38
2.17x
3.65x
nanaverage
12381.00
-
2580.04
4.80x
-
nanmedian
54945.29
61287.92
29037.04
1.89x
2.11x
nansum
4817.33
11168.96
3027.50
1.59x
3.69x
nanmin
900.83
4726.58
450.54
2.00x
10.49x
nanmax
991.75
4835.75
477.96
2.07x
10.12x
nanminmax
1854.54
9593.12
486.46
3.81x
19.72x
nanvar
16862.54
24540.00
6188.21
2.72x
3.97x
nanstd
17262.54
24611.38
6573.13
2.63x
3.74x
nanpercentile
117531.96
-
45452.63
2.59x
-
nanquantile
118207.71
-
46424.12
2.55x
-
NaN-aware, float32
nanmean
5.14
0.07
0.17
30.92x
0.43x
nanaverage
3.07
-
0.35
8.80x
-
nanmedian
7.46
0.11
0.26
28.45x
0.42x
nansum
1.72
0.07
0.21
8.28x
0.34x
nanmin
1.63
0.06
0.16
9.89x
0.34x
nanmax
1.65
0.06
0.17
9.83x
0.34x
nanminmax
3.29
0.11
0.18
17.94x
0.61x
nanvar
10.62
0.12
0.22
48.63x
0.54x
nanstd
11.12
0.16
0.29
38.29x
0.55x
nanpercentile
17.06
-
3.58
4.77x
-
nanquantile
16.55
-
3.86
4.29x
-
nanmean
5.17
0.16
0.18
28.38x
0.88x
nanaverage
3.13
-
0.37
8.44x
-
nanmedian
7.61
0.20
0.35
21.59x
0.58x
nansum
1.74
0.15
0.24
7.39x
0.64x
nanmin
1.65
0.09
0.17
9.52x
0.52x
nanmax
1.66
0.09
0.17
9.90x
0.53x
nanminmax
3.33
0.17
0.19
17.66x
0.89x
nanvar
10.58
0.28
0.26
40.56x
1.09x
nanstd
11.15
0.34
0.34
33.04x
1.00x
nanpercentile
17.37
-
4.08
4.26x
-
nanquantile
16.90
-
4.39
3.85x
-
nanmean
12.32
n/a
3.20
3.85x
n/a
nanaverage
14.88
-
4.03
3.69x
-
nanmedian
31.37
19.69
29.95
1.05x
0.66x
nansum
5.96
n/a
3.22
1.85x
n/a
nanmin
1.90
4.80
0.95
2.00x
5.07x
nanmax
1.88
4.81
0.95
1.97x
5.03x
nanminmax
3.82
9.29
1.23
3.12x
7.57x
nanvar
26.69
n/a
6.21
4.30x
n/a
nanstd
27.37
24.54
6.15
4.45x
3.99x
nanpercentile
58.30
-
47.59
1.22x
-
nanquantile
56.41
-
47.82
1.18x
-
nanmean
5355.67
n/a
3017.50
1.77x
n/a
nanaverage
9895.13
-
3719.75
2.66x
-
nanmedian
74527.29
59038.58
28337.37
2.63x
2.08x
nansum
3592.13
n/a
3067.50
1.17x
n/a
nanmin
433.92
4771.42
232.46
1.87x
20.53x
nanmax
457.58
4974.58
274.50
1.67x
18.12x
nanminmax
910.58
9691.21
324.13
2.81x
29.90x
nanvar
14348.04
n/a
6113.63
2.35x
n/a
nanstd
14223.42
n/a
6073.83
2.34x
n/a
nanpercentile
113032.42
-
43584.29
2.59x
-
nanquantile
113344.96
-
43631.63
2.60x
-