Avatar for the jvdd user
jvdd
argminmax
BlogDocsChangelog

feat: optimize + add `f16` scalar implementations

#44Merged
Comparing
opt_impl
(
dcc1db9
) with
main
(
9c9f373
)
CodSpeed Performance Gauge
+10%
Improvement
9
Untouched
147

Benchmarks

156 total
scalar_f16_argmin_rn
benches/bench_f16_return_nan.rs::benches::argminmax_rn_f16_random_array_long
CodSpeed Performance Gauge
+10%
634 µs577.1 µs
scalar_f16_argmax_rn
benches/bench_f16_return_nan.rs::benches::argminmax_rn_f16_random_array_long
CodSpeed Performance Gauge
+10%
634 µs577.1 µs
sse_f64_argmax_rn
benches/bench_f64_return_nan.rs::benches::argminmax_rn_f64_random_array_long
CodSpeed Performance Gauge
+9%
701.1 µs644.1 µs
sse_f64_argmin_rn
benches/bench_f64_return_nan.rs::benches::argminmax_rn_f64_random_array_long
CodSpeed Performance Gauge
+9%
701.1 µs644.1 µs
sse_f64_argminmax_rn
benches/bench_f64_return_nan.rs::benches::argminmax_rn_f64_random_array_long
CodSpeed Performance Gauge
+9%
701 µs644.1 µs
sse_i64_argmin
benches/bench_i64.rs::benches::argminmax_i64_random_array_long
CodSpeed Performance Gauge
+8%
551.6 µs508.9 µs
sse_u64_argmin
benches/bench_u64.rs::benches::argminmax_u64_random_array_long
CodSpeed Performance Gauge
+8%
565.9 µs523.2 µs
sse_i64_argminmax
benches/bench_i64.rs::benches::argminmax_i64_random_array_long
CodSpeed Performance Gauge
+8%
608.6 µs566 µs
sse_u64_argminmax
benches/bench_u64.rs::benches::argminmax_u64_random_array_long
CodSpeed Performance Gauge
+7%
622.9 µs580.2 µs
avx2_u64_argmin
benches/bench_u64.rs::benches::argminmax_u64_random_array_long
CodSpeed Performance Gauge
+2%
437.9 µs430.8 µs
avx2_i64_argmin
benches/bench_i64.rs::benches::argminmax_i64_random_array_long
CodSpeed Performance Gauge
+2%
437.9 µs430.7 µs
avx2_i64_argminmax
benches/bench_i64.rs::benches::argminmax_i64_random_array_long
CodSpeed Performance Gauge
+2%
459.4 µs452.2 µs
avx2_u64_argminmax
benches/bench_u64.rs::benches::argminmax_u64_random_array_long
CodSpeed Performance Gauge
+2%
459.4 µs452.3 µs
impl_i64_argmin
benches/bench_i64.rs::benches::argminmax_i64_random_array_long
CodSpeed Performance Gauge
+2%
459.6 µs452.5 µs
impl_i64_argminmax
benches/bench_i64.rs::benches::argminmax_i64_random_array_long
CodSpeed Performance Gauge
+2%
459.6 µs452.5 µs
impl_i64_argmax
benches/bench_i64.rs::benches::argminmax_i64_random_array_long
CodSpeed Performance Gauge
+2%
459.6 µs452.5 µs
impl_u64_argmin
benches/bench_u64.rs::benches::argminmax_u64_random_array_long
CodSpeed Performance Gauge
+2%
459.6 µs452.5 µs
impl_u64_argminmax
benches/bench_u64.rs::benches::argminmax_u64_random_array_long
CodSpeed Performance Gauge
+2%
459.6 µs452.5 µs
impl_u64_argmax
benches/bench_u64.rs::benches::argminmax_u64_random_array_long
CodSpeed Performance Gauge
+2%
459.6 µs452.5 µs
avx2_f64_argmin_rn
benches/bench_f64_return_nan.rs::benches::argminmax_rn_f64_random_array_long
CodSpeed Performance Gauge
+1%
495 µs487.8 µs
avx2_f64_argmax_rn
benches/bench_f64_return_nan.rs::benches::argminmax_rn_f64_random_array_long
CodSpeed Performance Gauge
+1%
495 µs487.8 µs
avx2_f64_argminmax_rn
benches/bench_f64_return_nan.rs::benches::argminmax_rn_f64_random_array_long
CodSpeed Performance Gauge
+1%
494.9 µs487.7 µs
impl_f64_argminmax_rn
benches/bench_f64_return_nan.rs::benches::argminmax_rn_f64_random_array_long
CodSpeed Performance Gauge
+1%
495.1 µs488 µs
impl_f64_argmax_rn
benches/bench_f64_return_nan.rs::benches::argminmax_rn_f64_random_array_long
CodSpeed Performance Gauge
+1%
495.1 µs488 µs
impl_f64_argmin_rn
benches/bench_f64_return_nan.rs::benches::argminmax_rn_f64_random_array_long
CodSpeed Performance Gauge
+1%
495.1 µs488 µs

Commits

Click on a commit to change the comparison range
Base
main
9c9f373
-21.22%
perf: scalar first check >
c5f02ee
3 years ago
by jvdd
-9.8%
perf: let compiler use argminmax impl -> else if => if
391690d
3 years ago
by jvdd
0%
:broom:
83ea5a8
3 years ago
by jvdd
-2.93%
:pray:
3d9b3d7
3 years ago
by jvdd
0%
:pray:
43a74f4
3 years ago
by jvdd
+33.95%
:broom:
66ae9b0
3 years ago
by jvdd
-4.3%
:pray:
aef4ffe
3 years ago
by jvdd
×1,100
:rocket:
68645f1
3 years ago
by jvdd
:broom: add scalar ignore nan impl
f4feebd
3 years ago
by jvdd
0%
feat: test & implement scalar f16 ignore nans
dcc1db9
3 years ago
by jvdd
© 2026 CodSpeed Technology
Home Terms Privacy Docs