Avatar for the jvdd user
jvdd
argminmax
BlogDocsChangelog

perf: tune scalar argmin & argmax

#43Merged
Comparing
argminmax_opt
(
98673f6
) with
main
(
a71aa98
)
CodSpeed Performance Gauge
+82%
Improvements
14
Untouched
142

Benchmarks

Improved

scalar_i8_argmax
benches/bench_i8.rs::benches::argminmax_i8_random_array_long::scalar_i8_argmax
CodSpeed Performance Gauge
+82%
459.2 µs253 µs
scalar_u8_argmax
benches/bench_u8.rs::benches::argminmax_u8_random_array_long::scalar_u8_argmax
CodSpeed Performance Gauge
+81%
459.3 µs253 µs
scalar_i16_argmax
benches/bench_i16.rs::benches::argminmax_i16_random_array_long::scalar_i16_argmax
CodSpeed Performance Gauge
+63%
477.5 µs292.6 µs
scalar_u16_argmax
benches/bench_u16.rs::benches::argminmax_u16_random_array_long::scalar_u16_argmax
CodSpeed Performance Gauge
+63%
477.5 µs292.6 µs
scalar_i32_argmax
benches/bench_i32.rs::benches::argminmax_i32_random_array_long::scalar_i32_argmax
CodSpeed Performance Gauge
+52%
542.4 µs357.5 µs
scalar_u32_argmax
benches/bench_u32.rs::benches::argminmax_u32_random_array_long::scalar_u32_argmax
CodSpeed Performance Gauge
+51%
570.8 µs378.8 µs
scalar_i64_argmax
benches/bench_i64.rs::benches::argminmax_i64_random_array_long::scalar_i64_argmax
CodSpeed Performance Gauge
+34%
729 µs544.2 µs
scalar_u64_argmax
benches/bench_u64.rs::benches::argminmax_u64_random_array_long::scalar_u64_argmax
CodSpeed Performance Gauge
+34%
757.5 µs565.5 µs
scalar_f32_argmax_rn
benches/bench_f32_return_nan.rs::benches::argminmax_rn_f32_random_array_long::scalar_f32_argmax_rn
CodSpeed Performance Gauge
+11%
585 µs528.1 µs
scalar_f64_argmax_rn
benches/bench_f64_return_nan.rs::benches::argminmax_rn_f64_random_array_long::scalar_f64_argmax_rn
CodSpeed Performance Gauge
+8%
771.7 µs714.8 µs
scalar_f32_argmin_in
benches/bench_f32_ignore_nan.rs::benches::argminmax_in_f32_random_array_long::scalar_f32_argmin_in
CodSpeed Performance Gauge
+6%
471.4 µs442.9 µs
scalar_f32_argmax_in
benches/bench_f32_ignore_nan.rs::benches::argminmax_in_f32_random_array_long::scalar_f32_argmax_in
CodSpeed Performance Gauge
+6%
471.3 µs442.8 µs
scalar_f64_argmin_in
benches/bench_f64_ignore_nan.rs::benches::argminmax_in_f64_random_array_long::scalar_f64_argmin_in
CodSpeed Performance Gauge
+5%
658 µs629.5 µs
scalar_f64_argmax_in
benches/bench_f64_ignore_nan.rs::benches::argminmax_in_f64_random_array_long::scalar_f64_argmax_in
CodSpeed Performance Gauge
+5%
658 µs629.5 µs

Passed

avx2_i16_argmax
benches/bench_i16.rs::benches::argminmax_i16_random_array_long::avx2_i16_argmax
CodSpeed Performance Gauge
0%
106.7 µs106.6 µs
avx2_i8_argmax
benches/bench_i8.rs::benches::argminmax_i8_random_array_long::avx2_i8_argmax
CodSpeed Performance Gauge
0%
62.5 µs62.4 µs
sse_i8_argmin
benches/bench_i8.rs::benches::argminmax_i8_random_array_long::sse_i8_argmin
CodSpeed Performance Gauge
0%
67.4 µs67.4 µs
sse_u8_argmin
benches/bench_u8.rs::benches::argminmax_u8_random_array_long::sse_u8_argmin
CodSpeed Performance Gauge
0%
68.7 µs68.7 µs
sse_i16_argmax
benches/bench_i16.rs::benches::argminmax_i16_random_array_long::sse_i16_argmax
CodSpeed Performance Gauge
0%
126.1 µs126 µs
sse_u16_argmax
benches/bench_u16.rs::benches::argminmax_u16_random_array_long::sse_u16_argmax
CodSpeed Performance Gauge
0%
131.5 µs131.5 µs
impl_f32_argmin_in
benches/bench_f32_ignore_nan.rs::benches::argminmax_in_f32_random_array_long::impl_f32_argmin_in
CodSpeed Performance Gauge
0%
225.2 µs225.2 µs
impl_f32_argminmax_in
benches/bench_f32_ignore_nan.rs::benches::argminmax_in_f32_random_array_long::impl_f32_argminmax_in
CodSpeed Performance Gauge
0%
225.2 µs225.2 µs
impl_f32_argmax_in
benches/bench_f32_ignore_nan.rs::benches::argminmax_in_f32_random_array_long::impl_f32_argmax_in
CodSpeed Performance Gauge
0%
225.2 µs225.2 µs
avx2_f16_argmax_rn
benches/bench_f16_return_nan.rs::benches::argminmax_rn_f16_random_array_long::avx2_f16_argmax_rn
CodSpeed Performance Gauge
0%
119.4 µs119.4 µs
sse_i8_argminmax
benches/bench_i8.rs::benches::argminmax_i8_random_array_long::sse_i8_argminmax
CodSpeed Performance Gauge
0%
85.2 µs85.2 µs
avx2_f16_argminmax_rn
benches/bench_f16_return_nan.rs::benches::argminmax_rn_f16_random_array_long::avx2_f16_argminmax_rn
CodSpeed Performance Gauge
0%
119.3 µs119.3 µs
avx2_f16_argmin_rn
benches/bench_f16_return_nan.rs::benches::argminmax_rn_f16_random_array_long::avx2_f16_argmin_rn
CodSpeed Performance Gauge
0%
119.4 µs119.4 µs
avx2_i16_argmin
benches/bench_i16.rs::benches::argminmax_i16_random_array_long::avx2_i16_argmin
CodSpeed Performance Gauge
0%
106.6 µs106.6 µs
avx2_i16_argminmax
benches/bench_i16.rs::benches::argminmax_i16_random_array_long::avx2_i16_argminmax
CodSpeed Performance Gauge
0%
113.1 µs113 µs
impl_i16_argmax
benches/bench_i16.rs::benches::argminmax_i16_random_array_long::impl_i16_argmax
CodSpeed Performance Gauge
0%
113.3 µs113.2 µs
impl_i16_argmin
benches/bench_i16.rs::benches::argminmax_i16_random_array_long::impl_i16_argmin
CodSpeed Performance Gauge
0%
113.3 µs113.2 µs
impl_i16_argminmax
benches/bench_i16.rs::benches::argminmax_i16_random_array_long::impl_i16_argminmax
CodSpeed Performance Gauge
0%
113.3 µs113.2 µs
impl_u32_argminmax
benches/bench_u32.rs::benches::argminmax_u32_random_array_long::impl_u32_argminmax
CodSpeed Performance Gauge
0%
225.1 µs225.1 µs
impl_u32_argmax
benches/bench_u32.rs::benches::argminmax_u32_random_array_long::impl_u32_argmax
CodSpeed Performance Gauge
0%
225.1 µs225.1 µs
impl_u32_argmin
benches/bench_u32.rs::benches::argminmax_u32_random_array_long::impl_u32_argmin
CodSpeed Performance Gauge
0%
225.1 µs225.1 µs
sse_i32_argmin
benches/bench_i32.rs::benches::argminmax_i32_random_array_long::sse_i32_argmin
CodSpeed Performance Gauge
0%
247.7 µs247.7 µs
sse_f32_argmax_in
benches/bench_f32_ignore_nan.rs::benches::argminmax_in_f32_random_array_long::sse_f32_argmax_in
CodSpeed Performance Gauge
0%
242.5 µs242.4 µs
sse_i16_argmin
benches/bench_i16.rs::benches::argminmax_i16_random_array_long::sse_i16_argmin
CodSpeed Performance Gauge
0%
126.1 µs126.1 µs
sse_u16_argmin
benches/bench_u16.rs::benches::argminmax_u16_random_array_long::sse_u16_argmin
CodSpeed Performance Gauge
0%
131.5 µs131.5 µs
sse_i16_argminmax
benches/bench_i16.rs::benches::argminmax_i16_random_array_long::sse_i16_argminmax
CodSpeed Performance Gauge
0%
144.1 µs144.1 µs
sse_u16_argminmax
benches/bench_u16.rs::benches::argminmax_u16_random_array_long::sse_u16_argminmax
CodSpeed Performance Gauge
0%
149.5 µs149.5 µs
avx_f64_argmin_in
benches/bench_f64_ignore_nan.rs::benches::argminmax_in_f64_random_array_long::avx_f64_argmin_in
CodSpeed Performance Gauge
0%
422.1 µs422 µs
impl_f64_argmin_in
benches/bench_f64_ignore_nan.rs::benches::argminmax_in_f64_random_array_long::impl_f64_argmin_in
CodSpeed Performance Gauge
0%
449.1 µs449.1 µs
impl_f64_argmax_in
benches/bench_f64_ignore_nan.rs::benches::argminmax_in_f64_random_array_long::impl_f64_argmax_in
CodSpeed Performance Gauge
0%
449.1 µs449.1 µs
impl_f64_argminmax_in
benches/bench_f64_ignore_nan.rs::benches::argminmax_in_f64_random_array_long::impl_f64_argminmax_in
CodSpeed Performance Gauge
0%
449.1 µs449.1 µs
impl_i64_argmax
benches/bench_i64.rs::benches::argminmax_i64_random_array_long::impl_i64_argmax
CodSpeed Performance Gauge
0%
459.7 µs459.6 µs
impl_i64_argmin
benches/bench_i64.rs::benches::argminmax_i64_random_array_long::impl_i64_argmin
CodSpeed Performance Gauge
0%
459.7 µs459.6 µs
impl_i64_argminmax
benches/bench_i64.rs::benches::argminmax_i64_random_array_long::impl_i64_argminmax
CodSpeed Performance Gauge
0%
459.7 µs459.6 µs
avx_f64_argminmax_in
benches/bench_f64_ignore_nan.rs::benches::argminmax_in_f64_random_array_long::avx_f64_argminmax_in
CodSpeed Performance Gauge
0%
449 µs448.9 µs
avx2_u32_argminmax
benches/bench_u32.rs::benches::argminmax_u32_random_array_long::avx2_u32_argminmax
CodSpeed Performance Gauge
0%
224.9 µs224.9 µs
impl_f32_argmax_rn
benches/bench_f32_return_nan.rs::benches::argminmax_rn_f32_random_array_long::impl_f32_argmax_rn
CodSpeed Performance Gauge
0%
235.8 µs235.8 µs
impl_f32_argminmax_rn
benches/bench_f32_return_nan.rs::benches::argminmax_rn_f32_random_array_long::impl_f32_argminmax_rn
CodSpeed Performance Gauge
0%
235.8 µs235.8 µs
impl_f32_argmin_rn
benches/bench_f32_return_nan.rs::benches::argminmax_rn_f32_random_array_long::impl_f32_argmin_rn
CodSpeed Performance Gauge
0%
235.8 µs235.8 µs
avx_f32_argminmax_in
benches/bench_f32_ignore_nan.rs::benches::argminmax_in_f32_random_array_long::avx_f32_argminmax_in
CodSpeed Performance Gauge
0%
225 µs225 µs
avx2_f32_argmax_rn
benches/bench_f32_return_nan.rs::benches::argminmax_rn_f32_random_array_long::avx2_f32_argmax_rn
CodSpeed Performance Gauge
0%
235.6 µs235.6 µs
sse_f32_argmin_in
benches/bench_f32_ignore_nan.rs::benches::argminmax_in_f32_random_array_long::sse_f32_argmin_in
CodSpeed Performance Gauge
0%
242.5 µs242.4 µs
sse_f64_argminmax_in
benches/bench_f64_ignore_nan.rs::benches::argminmax_in_f64_random_array_long::sse_f64_argminmax_in
CodSpeed Performance Gauge
0%
552 µs551.9 µs
sse_f32_argminmax_in
benches/bench_f32_ignore_nan.rs::benches::argminmax_in_f32_random_array_long::sse_f32_argminmax_in
CodSpeed Performance Gauge
0%
276.4 µs276.4 µs
sse_f64_argmax_rn
benches/bench_f64_return_nan.rs::benches::argminmax_rn_f64_random_array_long::sse_f64_argmax_rn
CodSpeed Performance Gauge
0%
701.1 µs701.1 µs
avx2_i64_argmax
benches/bench_i64.rs::benches::argminmax_i64_random_array_long::avx2_i64_argmax
CodSpeed Performance Gauge
0%
430.8 µs430.7 µs
scalar_u8_argminmax
benches/bench_u8.rs::benches::argminmax_u8_random_array_long::scalar_u8_argminmax
CodSpeed Performance Gauge
0%
359.7 µs359.7 µs
avx2_u64_argmax
benches/bench_u64.rs::benches::argminmax_u64_random_array_long::avx2_u64_argmax
CodSpeed Performance Gauge
0%
430.8 µs430.7 µs
avx2_u64_argmin
benches/bench_u64.rs::benches::argminmax_u64_random_array_long::avx2_u64_argmin
CodSpeed Performance Gauge
0%
437.9 µs437.9 µs
impl_u64_argmin
benches/bench_u64.rs::benches::argminmax_u64_random_array_long::impl_u64_argmin
CodSpeed Performance Gauge
0%
459.7 µs459.6 µs
impl_u64_argminmax
benches/bench_u64.rs::benches::argminmax_u64_random_array_long::impl_u64_argminmax
CodSpeed Performance Gauge
0%
459.7 µs459.6 µs
impl_u64_argmax
benches/bench_u64.rs::benches::argminmax_u64_random_array_long::impl_u64_argmax
CodSpeed Performance Gauge
0%
459.7 µs459.6 µs
sse_u8_argmax
benches/bench_u8.rs::benches::argminmax_u8_random_array_long::sse_u8_argmax
CodSpeed Performance Gauge
0%
69.2 µs69.2 µs
sse_f64_argminmax_rn
benches/bench_f64_return_nan.rs::benches::argminmax_rn_f64_random_array_long::sse_f64_argminmax_rn
CodSpeed Performance Gauge
0%
701 µs701 µs
sse_f64_argmin_rn
benches/bench_f64_return_nan.rs::benches::argminmax_rn_f64_random_array_long::sse_f64_argmin_rn
CodSpeed Performance Gauge
0%
701.1 µs701.1 µs
sse_f16_argminmax_rn
benches/bench_f16_return_nan.rs::benches::argminmax_rn_f16_random_array_long::sse_f16_argminmax_rn
CodSpeed Performance Gauge
0%
159.1 µs159.1 µs
sse_f16_argmin_rn
benches/bench_f16_return_nan.rs::benches::argminmax_rn_f16_random_array_long::sse_f16_argmin_rn
CodSpeed Performance Gauge
0%
159.2 µs159.2 µs
avx2_i8_argmin
benches/bench_i8.rs::benches::argminmax_i8_random_array_long::avx2_i8_argmin
CodSpeed Performance Gauge
0%
62.4 µs62.4 µs
avx2_u8_argmax
benches/bench_u8.rs::benches::argminmax_u8_random_array_long::avx2_u8_argmax
CodSpeed Performance Gauge
0%
62.5 µs62.5 µs
impl_i8_argmax
benches/bench_i8.rs::benches::argminmax_i8_random_array_long::impl_i8_argmax
CodSpeed Performance Gauge
0%
85.3 µs85.3 µs
impl_i8_argmin
benches/bench_i8.rs::benches::argminmax_i8_random_array_long::impl_i8_argmin
CodSpeed Performance Gauge
0%
85.3 µs85.3 µs
impl_i8_argminmax
benches/bench_i8.rs::benches::argminmax_i8_random_array_long::impl_i8_argminmax
CodSpeed Performance Gauge
0%
85.3 µs85.3 µs
sse_f16_argmax_rn
benches/bench_f16_return_nan.rs::benches::argminmax_rn_f16_random_array_long::sse_f16_argmax_rn
CodSpeed Performance Gauge
0%
159.2 µs159.2 µs
avx2_u16_argmin
benches/bench_u16.rs::benches::argminmax_u16_random_array_long::avx2_u16_argmin
CodSpeed Performance Gauge
0%
106.7 µs106.7 µs
scalar_f32_argmin_rn
benches/bench_f32_return_nan.rs::benches::argminmax_rn_f32_random_array_long::scalar_f32_argmin_rn
CodSpeed Performance Gauge
0%
528.1 µs528.1 µs
avx2_u16_argminmax
benches/bench_u16.rs::benches::argminmax_u16_random_array_long::avx2_u16_argminmax
CodSpeed Performance Gauge
0%
113.1 µs113.1 µs
scalar_f64_argmin_rn
benches/bench_f64_return_nan.rs::benches::argminmax_rn_f64_random_array_long::scalar_f64_argmin_rn
CodSpeed Performance Gauge
0%
714.8 µs714.8 µs
scalar_f64_argminmax_rn
benches/bench_f64_return_nan.rs::benches::argminmax_rn_f64_random_array_long::scalar_f64_argminmax_rn
CodSpeed Performance Gauge
0%
714.8 µs714.8 µs
sse_u32_argminmax
benches/bench_u32.rs::benches::argminmax_u32_random_array_long::sse_u32_argminmax
CodSpeed Performance Gauge
0%
301.2 µs301.2 µs
sse_u32_argmin
benches/bench_u32.rs::benches::argminmax_u32_random_array_long::sse_u32_argmin
CodSpeed Performance Gauge
0%
265.4 µs265.4 µs
sse_i64_argminmax
benches/bench_i64.rs::benches::argminmax_i64_random_array_long::sse_i64_argminmax
CodSpeed Performance Gauge
0%
608.6 µs608.6 µs
sse_u64_argminmax
benches/bench_u64.rs::benches::argminmax_u64_random_array_long::sse_u64_argminmax
CodSpeed Performance Gauge
0%
622.8 µs622.8 µs
sse_f32_argmax_rn
benches/bench_f32_return_nan.rs::benches::argminmax_rn_f32_random_array_long::sse_f32_argmax_rn
CodSpeed Performance Gauge
0%
319.1 µs319.1 µs
avx2_i64_argminmax
benches/bench_i64.rs::benches::argminmax_i64_random_array_long::avx2_i64_argminmax
CodSpeed Performance Gauge
0%
459.4 µs459.4 µs
avx2_i64_argmin
benches/bench_i64.rs::benches::argminmax_i64_random_array_long::avx2_i64_argmin
CodSpeed Performance Gauge
0%
437.9 µs437.9 µs
impl_f64_argmin_rn
benches/bench_f64_return_nan.rs::benches::argminmax_rn_f64_random_array_long::impl_f64_argmin_rn
CodSpeed Performance Gauge
0%
495.1 µs495.1 µs
impl_f64_argmax_rn
benches/bench_f64_return_nan.rs::benches::argminmax_rn_f64_random_array_long::impl_f64_argmax_rn
CodSpeed Performance Gauge
0%
495.1 µs495.1 µs
impl_f64_argminmax_rn
benches/bench_f64_return_nan.rs::benches::argminmax_rn_f64_random_array_long::impl_f64_argminmax_rn
CodSpeed Performance Gauge
0%
495.1 µs495.1 µs
sse_i64_argmin
benches/bench_i64.rs::benches::argminmax_i64_random_array_long::sse_i64_argmin
CodSpeed Performance Gauge
0%
551.6 µs551.6 µs
scalar_i32_argminmax
benches/bench_i32.rs::benches::argminmax_i32_random_array_long::scalar_i32_argminmax
CodSpeed Performance Gauge
0%
442.8 µs442.8 µs
scalar_u32_argminmax
benches/bench_u32.rs::benches::argminmax_u32_random_array_long::scalar_u32_argminmax
CodSpeed Performance Gauge
0%
442.8 µs442.8 µs
scalar_f32_argminmax_rn
benches/bench_f32_return_nan.rs::benches::argminmax_rn_f32_random_array_long::scalar_f32_argminmax_rn
CodSpeed Performance Gauge
0%
528.1 µs528.1 µs
impl_i32_argmax
benches/bench_i32.rs::benches::argminmax_i32_random_array_long::impl_i32_argmax
CodSpeed Performance Gauge
0%
225.1 µs225.1 µs
impl_i32_argmin
benches/bench_i32.rs::benches::argminmax_i32_random_array_long::impl_i32_argmin
CodSpeed Performance Gauge
0%
225.1 µs225.1 µs
impl_i32_argminmax
benches/bench_i32.rs::benches::argminmax_i32_random_array_long::impl_i32_argminmax
CodSpeed Performance Gauge
0%
225.1 µs225.1 µs
sse_f64_argmin_in
benches/bench_f64_ignore_nan.rs::benches::argminmax_in_f64_random_array_long::sse_f64_argmin_in
CodSpeed Performance Gauge
0%
484.2 µs484.2 µs
scalar_u64_argminmax
benches/bench_u64.rs::benches::argminmax_u64_random_array_long::scalar_u64_argminmax
CodSpeed Performance Gauge
0%
629.5 µs629.5 µs
scalar_u16_argmin
benches/bench_u16.rs::benches::argminmax_u16_random_array_long::scalar_u16_argmin
CodSpeed Performance Gauge
0%
292.6 µs292.6 µs
scalar_i8_argmin
benches/bench_i8.rs::benches::argminmax_i8_random_array_long::scalar_i8_argmin
CodSpeed Performance Gauge
0%
253 µs253 µs
scalar_i16_argmin
benches/bench_i16.rs::benches::argminmax_i16_random_array_long::scalar_i16_argmin
CodSpeed Performance Gauge
0%
292.6 µs292.6 µs
scalar_i64_argmin
benches/bench_i64.rs::benches::argminmax_i64_random_array_long::scalar_i64_argmin
CodSpeed Performance Gauge
0%
544.2 µs544.2 µs
scalar_i16_argminmax
benches/bench_i16.rs::benches::argminmax_i16_random_array_long::scalar_i16_argminmax
CodSpeed Performance Gauge
0%
349.5 µs349.5 µs
scalar_u8_argmin
benches/bench_u8.rs::benches::argminmax_u8_random_array_long::scalar_u8_argmin
CodSpeed Performance Gauge
0%
253 µs253 µs
avx2_f64_argmax_rn
benches/bench_f64_return_nan.rs::benches::argminmax_rn_f64_random_array_long::avx2_f64_argmax_rn
CodSpeed Performance Gauge
0%
495 µs495 µs
scalar_u64_argmin
benches/bench_u64.rs::benches::argminmax_u64_random_array_long::scalar_u64_argmin
CodSpeed Performance Gauge
0%
544.2 µs544.2 µs
avx2_u64_argminmax
benches/bench_u64.rs::benches::argminmax_u64_random_array_long::avx2_u64_argminmax
CodSpeed Performance Gauge
0%
459.4 µs459.4 µs
sse_i32_argmax
benches/bench_i32.rs::benches::argminmax_i32_random_array_long::sse_i32_argmax
CodSpeed Performance Gauge
0%
247.8 µs247.8 µs
scalar_f64_argminmax_in
benches/bench_f64_ignore_nan.rs::benches::argminmax_in_f64_random_array_long::scalar_f64_argminmax_in
CodSpeed Performance Gauge
0%
658 µs658 µs
scalar_i64_argminmax
benches/bench_i64.rs::benches::argminmax_i64_random_array_long::scalar_i64_argminmax
CodSpeed Performance Gauge
0%
629.5 µs629.5 µs
scalar_i8_argminmax
benches/bench_i8.rs::benches::argminmax_i8_random_array_long::scalar_i8_argminmax
CodSpeed Performance Gauge
0%
359.7 µs359.7 µs
avx2_f64_argmin_rn
benches/bench_f64_return_nan.rs::benches::argminmax_rn_f64_random_array_long::avx2_f64_argmin_rn
CodSpeed Performance Gauge
0%
495 µs495 µs
avx2_f64_argminmax_rn
benches/bench_f64_return_nan.rs::benches::argminmax_rn_f64_random_array_long::avx2_f64_argminmax_rn
CodSpeed Performance Gauge
0%
494.9 µs494.9 µs
scalar_i32_argmin
benches/bench_i32.rs::benches::argminmax_i32_random_array_long::scalar_i32_argmin
CodSpeed Performance Gauge
0%
357.5 µs357.5 µs
avx_f64_argmax_in
benches/bench_f64_ignore_nan.rs::benches::argminmax_in_f64_random_array_long::avx_f64_argmax_in
CodSpeed Performance Gauge
0%
422 µs422 µs
avx_f32_argmax_in
benches/bench_f32_ignore_nan.rs::benches::argminmax_in_f32_random_array_long::avx_f32_argmax_in
CodSpeed Performance Gauge
0%
211.4 µs211.4 µs
avx_f32_argmin_in
benches/bench_f32_ignore_nan.rs::benches::argminmax_in_f32_random_array_long::avx_f32_argmin_in
CodSpeed Performance Gauge
0%
211.5 µs211.5 µs
avx2_f32_argmin_rn
benches/bench_f32_return_nan.rs::benches::argminmax_rn_f32_random_array_long::avx2_f32_argmin_rn
CodSpeed Performance Gauge
0%
235.6 µs235.6 µs
avx2_f32_argminmax_rn
benches/bench_f32_return_nan.rs::benches::argminmax_rn_f32_random_array_long::avx2_f32_argminmax_rn
CodSpeed Performance Gauge
0%
235.5 µs235.5 µs
impl_u16_argmax
benches/bench_u16.rs::benches::argminmax_u16_random_array_long::impl_u16_argmax
CodSpeed Performance Gauge
0%
113.3 µs113.3 µs
impl_u16_argminmax
benches/bench_u16.rs::benches::argminmax_u16_random_array_long::impl_u16_argminmax
CodSpeed Performance Gauge
0%
113.3 µs113.3 µs
impl_u16_argmin
benches/bench_u16.rs::benches::argminmax_u16_random_array_long::impl_u16_argmin
CodSpeed Performance Gauge
0%
113.3 µs113.3 µs
avx2_u8_argminmax
benches/bench_u8.rs::benches::argminmax_u8_random_array_long::avx2_u8_argminmax
CodSpeed Performance Gauge
0%
73.9 µs73.9 µs
impl_f16_argminmax_rn
benches/bench_f16_return_nan.rs::benches::argminmax_rn_f16_random_array_long::impl_f16_argminmax_rn
CodSpeed Performance Gauge
0%
119.5 µs119.5 µs
impl_f16_argmin_rn
benches/bench_f16_return_nan.rs::benches::argminmax_rn_f16_random_array_long::impl_f16_argmin_rn
CodSpeed Performance Gauge
0%
119.5 µs119.5 µs
impl_f16_argmax_rn
benches/bench_f16_return_nan.rs::benches::argminmax_rn_f16_random_array_long::impl_f16_argmax_rn
CodSpeed Performance Gauge
0%
119.5 µs119.5 µs
scalar_f32_argminmax_in
benches/bench_f32_ignore_nan.rs::benches::argminmax_in_f32_random_array_long::scalar_f32_argminmax_in
CodSpeed Performance Gauge
0%
471.3 µs471.4 µs
scalar_f16_argminmax_rn
benches/bench_f16_return_nan.rs::benches::argminmax_rn_f16_random_array_long::scalar_f16_argminmax_rn
CodSpeed Performance Gauge
0%
634 µs634 µs
scalar_f16_argmax_rn
benches/bench_f16_return_nan.rs::benches::argminmax_rn_f16_random_array_long::scalar_f16_argmax_rn
CodSpeed Performance Gauge
0%
634 µs634 µs
scalar_f16_argmin_rn
benches/bench_f16_return_nan.rs::benches::argminmax_rn_f16_random_array_long::scalar_f16_argmin_rn
CodSpeed Performance Gauge
0%
634 µs634 µs
sse_u64_argmin
benches/bench_u64.rs::benches::argminmax_u64_random_array_long::sse_u64_argmin
CodSpeed Performance Gauge
0%
565.9 µs565.9 µs
sse_u64_argmax
benches/bench_u64.rs::benches::argminmax_u64_random_array_long::sse_u64_argmax
CodSpeed Performance Gauge
0%
523.2 µs523.2 µs
sse_f64_argmax_in
benches/bench_f64_ignore_nan.rs::benches::argminmax_in_f64_random_array_long::sse_f64_argmax_in
CodSpeed Performance Gauge
0%
484.2 µs484.2 µs
scalar_u16_argminmax
benches/bench_u16.rs::benches::argminmax_u16_random_array_long::scalar_u16_argminmax
CodSpeed Performance Gauge
0%
349.5 µs349.5 µs
scalar_u32_argmin
benches/bench_u32.rs::benches::argminmax_u32_random_array_long::scalar_u32_argmin
CodSpeed Performance Gauge
0%
357.5 µs357.5 µs
sse_f32_argmin_rn
benches/bench_f32_return_nan.rs::benches::argminmax_rn_f32_random_array_long::sse_f32_argmin_rn
CodSpeed Performance Gauge
0%
319.1 µs319.1 µs
sse_f32_argminmax_rn
benches/bench_f32_return_nan.rs::benches::argminmax_rn_f32_random_array_long::sse_f32_argminmax_rn
CodSpeed Performance Gauge
0%
319 µs319 µs
sse_i32_argminmax
benches/bench_i32.rs::benches::argminmax_i32_random_array_long::sse_i32_argminmax
CodSpeed Performance Gauge
0%
290.5 µs290.5 µs
sse_u32_argmax
benches/bench_u32.rs::benches::argminmax_u32_random_array_long::sse_u32_argmax
CodSpeed Performance Gauge
0%
265.4 µs265.5 µs
sse_i64_argmax
benches/bench_i64.rs::benches::argminmax_i64_random_array_long::sse_i64_argmax
CodSpeed Performance Gauge
0%
508.9 µs508.9 µs
avx2_i32_argminmax
benches/bench_i32.rs::benches::argminmax_i32_random_array_long::avx2_i32_argminmax
CodSpeed Performance Gauge
0%
224.8 µs224.9 µs
avx2_i32_argmin
benches/bench_i32.rs::benches::argminmax_i32_random_array_long::avx2_i32_argmin
CodSpeed Performance Gauge
0%
211.4 µs211.4 µs
avx2_u32_argmax
benches/bench_u32.rs::benches::argminmax_u32_random_array_long::avx2_u32_argmax
CodSpeed Performance Gauge
0%
215.8 µs215.8 µs
avx2_i32_argmax
benches/bench_i32.rs::benches::argminmax_i32_random_array_long::avx2_i32_argmax
CodSpeed Performance Gauge
0%
211.3 µs211.3 µs
avx2_u16_argmax
benches/bench_u16.rs::benches::argminmax_u16_random_array_long::avx2_u16_argmax
CodSpeed Performance Gauge
0%
106.7 µs106.7 µs
impl_u8_argmax
benches/bench_u8.rs::benches::argminmax_u8_random_array_long::impl_u8_argmax
CodSpeed Performance Gauge
0%
86.1 µs86.1 µs
impl_u8_argminmax
benches/bench_u8.rs::benches::argminmax_u8_random_array_long::impl_u8_argminmax
CodSpeed Performance Gauge
0%
86.1 µs86.1 µs
impl_u8_argmin
benches/bench_u8.rs::benches::argminmax_u8_random_array_long::impl_u8_argmin
CodSpeed Performance Gauge
0%
86.1 µs86.1 µs
sse_i8_argmax
benches/bench_i8.rs::benches::argminmax_i8_random_array_long::sse_i8_argmax
CodSpeed Performance Gauge
0%
67.4 µs67.5 µs
avx2_u32_argmin
benches/bench_u32.rs::benches::argminmax_u32_random_array_long::avx2_u32_argmin
CodSpeed Performance Gauge
0%
215.7 µs215.8 µs
avx2_i8_argminmax
benches/bench_i8.rs::benches::argminmax_i8_random_array_long::avx2_i8_argminmax
CodSpeed Performance Gauge
0%
74.1 µs74.2 µs
avx2_u8_argmin
benches/bench_u8.rs::benches::argminmax_u8_random_array_long::avx2_u8_argmin
CodSpeed Performance Gauge
0%
61.9 µs61.9 µs
sse_u8_argminmax
benches/bench_u8.rs::benches::argminmax_u8_random_array_long::sse_u8_argminmax
CodSpeed Performance Gauge
0%
85.9 µs86 µs

Commits

Click on a commit to change the comparison range
Base
main
a71aa98
+81.51%
perf: add explicit argmax scalar impl
67e82df
2 years ago
by jvdd
-96.83%
perf: add explicit argmin scalar impl
6c7fa6b
2 years ago
by jvdd
+96.83%
perf: revert scalar impl to double check
98673f6
2 years ago
by jvdd
© 2025 CodSpeed Technology
Home Terms Privacy Docs