BlogDocs

perf: tune scalar argmin & argmax(#43)

Merged
Comparing
argminmax_opt
(
98673f6
) with
main
(
a71aa98
)
+82%
IMPROVEMENTS
14
REGRESSIONS
0
UNTOUCHED
142
NEW
0
DROPPED
0
IGNORED
0

Benchmarks

Improved

scalar_i8_argmax
benches/bench_i8.rs::benches::argminmax_i8_random_array_long::scalar_i8_argmax
+82%
459.2 µs
253 µs
scalar_u8_argmax
benches/bench_u8.rs::benches::argminmax_u8_random_array_long::scalar_u8_argmax
+81%
459.3 µs
253 µs
scalar_i16_argmax
benches/bench_i16.rs::benches::argminmax_i16_random_array_long::scalar_i16_argmax
+63%
477.5 µs
292.6 µs
scalar_u16_argmax
benches/bench_u16.rs::benches::argminmax_u16_random_array_long::scalar_u16_argmax
+63%
477.5 µs
292.6 µs
scalar_i32_argmax
benches/bench_i32.rs::benches::argminmax_i32_random_array_long::scalar_i32_argmax
+52%
542.4 µs
357.5 µs
scalar_u32_argmax
benches/bench_u32.rs::benches::argminmax_u32_random_array_long::scalar_u32_argmax
+51%
570.8 µs
378.8 µs
scalar_i64_argmax
benches/bench_i64.rs::benches::argminmax_i64_random_array_long::scalar_i64_argmax
+34%
729 µs
544.2 µs
scalar_u64_argmax
benches/bench_u64.rs::benches::argminmax_u64_random_array_long::scalar_u64_argmax
+34%
757.5 µs
565.5 µs
scalar_f32_argmax_rn
benches/bench_f32_return_nan.rs::benches::argminmax_rn_f32_random_array_long::scalar_f32_argmax_rn
+11%
585 µs
528.1 µs
scalar_f64_argmax_rn
benches/bench_f64_return_nan.rs::benches::argminmax_rn_f64_random_array_long::scalar_f64_argmax_rn
+8%
771.7 µs
714.8 µs
scalar_f32_argmin_in
benches/bench_f32_ignore_nan.rs::benches::argminmax_in_f32_random_array_long::scalar_f32_argmin_in
+6%
471.4 µs
442.9 µs
scalar_f32_argmax_in
benches/bench_f32_ignore_nan.rs::benches::argminmax_in_f32_random_array_long::scalar_f32_argmax_in
+6%
471.3 µs
442.8 µs
scalar_f64_argmin_in
benches/bench_f64_ignore_nan.rs::benches::argminmax_in_f64_random_array_long::scalar_f64_argmin_in
+5%
658 µs
629.5 µs
scalar_f64_argmax_in
benches/bench_f64_ignore_nan.rs::benches::argminmax_in_f64_random_array_long::scalar_f64_argmax_in
+5%
658 µs
629.5 µs

Passed

avx2_i16_argmax
benches/bench_i16.rs::benches::argminmax_i16_random_array_long::avx2_i16_argmax
0%
106.7 µs
106.6 µs
avx2_i8_argmax
benches/bench_i8.rs::benches::argminmax_i8_random_array_long::avx2_i8_argmax
0%
62.5 µs
62.4 µs
sse_i8_argmin
benches/bench_i8.rs::benches::argminmax_i8_random_array_long::sse_i8_argmin
0%
67.4 µs
67.4 µs
sse_u8_argmin
benches/bench_u8.rs::benches::argminmax_u8_random_array_long::sse_u8_argmin
0%
68.7 µs
68.7 µs
sse_i16_argmax
benches/bench_i16.rs::benches::argminmax_i16_random_array_long::sse_i16_argmax
0%
126.1 µs
126 µs
sse_u16_argmax
benches/bench_u16.rs::benches::argminmax_u16_random_array_long::sse_u16_argmax
0%
131.5 µs
131.5 µs
impl_f32_argmax_in
benches/bench_f32_ignore_nan.rs::benches::argminmax_in_f32_random_array_long::impl_f32_argmax_in
0%
225.2 µs
225.2 µs
impl_f32_argmin_in
benches/bench_f32_ignore_nan.rs::benches::argminmax_in_f32_random_array_long::impl_f32_argmin_in
0%
225.2 µs
225.2 µs
impl_f32_argminmax_in
benches/bench_f32_ignore_nan.rs::benches::argminmax_in_f32_random_array_long::impl_f32_argminmax_in
0%
225.2 µs
225.2 µs
avx2_f16_argmax_rn
benches/bench_f16_return_nan.rs::benches::argminmax_rn_f16_random_array_long::avx2_f16_argmax_rn
0%
119.4 µs
119.4 µs
sse_i8_argminmax
benches/bench_i8.rs::benches::argminmax_i8_random_array_long::sse_i8_argminmax
0%
85.2 µs
85.2 µs
avx2_f16_argminmax_rn
benches/bench_f16_return_nan.rs::benches::argminmax_rn_f16_random_array_long::avx2_f16_argminmax_rn
0%
119.3 µs
119.3 µs
avx2_f16_argmin_rn
benches/bench_f16_return_nan.rs::benches::argminmax_rn_f16_random_array_long::avx2_f16_argmin_rn
0%
119.4 µs
119.4 µs
avx2_i16_argmin
benches/bench_i16.rs::benches::argminmax_i16_random_array_long::avx2_i16_argmin
0%
106.6 µs
106.6 µs
avx2_i16_argminmax
benches/bench_i16.rs::benches::argminmax_i16_random_array_long::avx2_i16_argminmax
0%
113.1 µs
113 µs
impl_i16_argmax
benches/bench_i16.rs::benches::argminmax_i16_random_array_long::impl_i16_argmax
0%
113.3 µs
113.2 µs
impl_i16_argmin
benches/bench_i16.rs::benches::argminmax_i16_random_array_long::impl_i16_argmin
0%
113.3 µs
113.2 µs
impl_i16_argminmax
benches/bench_i16.rs::benches::argminmax_i16_random_array_long::impl_i16_argminmax
0%
113.3 µs
113.2 µs
impl_u32_argmax
benches/bench_u32.rs::benches::argminmax_u32_random_array_long::impl_u32_argmax
0%
225.1 µs
225.1 µs
impl_u32_argmin
benches/bench_u32.rs::benches::argminmax_u32_random_array_long::impl_u32_argmin
0%
225.1 µs
225.1 µs
impl_u32_argminmax
benches/bench_u32.rs::benches::argminmax_u32_random_array_long::impl_u32_argminmax
0%
225.1 µs
225.1 µs
sse_i32_argmin
benches/bench_i32.rs::benches::argminmax_i32_random_array_long::sse_i32_argmin
0%
247.7 µs
247.7 µs
sse_f32_argmax_in
benches/bench_f32_ignore_nan.rs::benches::argminmax_in_f32_random_array_long::sse_f32_argmax_in
0%
242.5 µs
242.4 µs
sse_i16_argmin
benches/bench_i16.rs::benches::argminmax_i16_random_array_long::sse_i16_argmin
0%
126.1 µs
126.1 µs
sse_u16_argmin
benches/bench_u16.rs::benches::argminmax_u16_random_array_long::sse_u16_argmin
0%
131.5 µs
131.5 µs
sse_i16_argminmax
benches/bench_i16.rs::benches::argminmax_i16_random_array_long::sse_i16_argminmax
0%
144.1 µs
144.1 µs
sse_u16_argminmax
benches/bench_u16.rs::benches::argminmax_u16_random_array_long::sse_u16_argminmax
0%
149.5 µs
149.5 µs
avx_f64_argmin_in
benches/bench_f64_ignore_nan.rs::benches::argminmax_in_f64_random_array_long::avx_f64_argmin_in
0%
422.1 µs
422 µs
impl_f64_argmax_in
benches/bench_f64_ignore_nan.rs::benches::argminmax_in_f64_random_array_long::impl_f64_argmax_in
0%
449.1 µs
449.1 µs
impl_f64_argmin_in
benches/bench_f64_ignore_nan.rs::benches::argminmax_in_f64_random_array_long::impl_f64_argmin_in
0%
449.1 µs
449.1 µs
impl_f64_argminmax_in
benches/bench_f64_ignore_nan.rs::benches::argminmax_in_f64_random_array_long::impl_f64_argminmax_in
0%
449.1 µs
449.1 µs
impl_i64_argmax
benches/bench_i64.rs::benches::argminmax_i64_random_array_long::impl_i64_argmax
0%
459.7 µs
459.6 µs
impl_i64_argmin
benches/bench_i64.rs::benches::argminmax_i64_random_array_long::impl_i64_argmin
0%
459.7 µs
459.6 µs
impl_i64_argminmax
benches/bench_i64.rs::benches::argminmax_i64_random_array_long::impl_i64_argminmax
0%
459.7 µs
459.6 µs
avx_f64_argminmax_in
benches/bench_f64_ignore_nan.rs::benches::argminmax_in_f64_random_array_long::avx_f64_argminmax_in
0%
449 µs
448.9 µs
avx2_u32_argminmax
benches/bench_u32.rs::benches::argminmax_u32_random_array_long::avx2_u32_argminmax
0%
224.9 µs
224.9 µs
impl_f32_argmax_rn
benches/bench_f32_return_nan.rs::benches::argminmax_rn_f32_random_array_long::impl_f32_argmax_rn
0%
235.8 µs
235.8 µs
impl_f32_argmin_rn
benches/bench_f32_return_nan.rs::benches::argminmax_rn_f32_random_array_long::impl_f32_argmin_rn
0%
235.8 µs
235.8 µs
impl_f32_argminmax_rn
benches/bench_f32_return_nan.rs::benches::argminmax_rn_f32_random_array_long::impl_f32_argminmax_rn
0%
235.8 µs
235.8 µs
avx_f32_argminmax_in
benches/bench_f32_ignore_nan.rs::benches::argminmax_in_f32_random_array_long::avx_f32_argminmax_in
0%
225 µs
225 µs
avx2_f32_argmax_rn
benches/bench_f32_return_nan.rs::benches::argminmax_rn_f32_random_array_long::avx2_f32_argmax_rn
0%
235.6 µs
235.6 µs
sse_f32_argmin_in
benches/bench_f32_ignore_nan.rs::benches::argminmax_in_f32_random_array_long::sse_f32_argmin_in
0%
242.5 µs
242.4 µs
sse_f64_argminmax_in
benches/bench_f64_ignore_nan.rs::benches::argminmax_in_f64_random_array_long::sse_f64_argminmax_in
0%
552 µs
551.9 µs
sse_f32_argminmax_in
benches/bench_f32_ignore_nan.rs::benches::argminmax_in_f32_random_array_long::sse_f32_argminmax_in
0%
276.4 µs
276.4 µs
sse_f64_argmax_rn
benches/bench_f64_return_nan.rs::benches::argminmax_rn_f64_random_array_long::sse_f64_argmax_rn
0%
701.1 µs
701.1 µs
avx2_i64_argmax
benches/bench_i64.rs::benches::argminmax_i64_random_array_long::avx2_i64_argmax
0%
430.8 µs
430.7 µs
scalar_u8_argminmax
benches/bench_u8.rs::benches::argminmax_u8_random_array_long::scalar_u8_argminmax
0%
359.7 µs
359.7 µs
avx2_u64_argmax
benches/bench_u64.rs::benches::argminmax_u64_random_array_long::avx2_u64_argmax
0%
430.8 µs
430.7 µs
avx2_u64_argmin
benches/bench_u64.rs::benches::argminmax_u64_random_array_long::avx2_u64_argmin
0%
437.9 µs
437.9 µs
impl_u64_argmax
benches/bench_u64.rs::benches::argminmax_u64_random_array_long::impl_u64_argmax
0%
459.7 µs
459.6 µs
impl_u64_argmin
benches/bench_u64.rs::benches::argminmax_u64_random_array_long::impl_u64_argmin
0%
459.7 µs
459.6 µs
impl_u64_argminmax
benches/bench_u64.rs::benches::argminmax_u64_random_array_long::impl_u64_argminmax
0%
459.7 µs
459.6 µs
sse_u8_argmax
benches/bench_u8.rs::benches::argminmax_u8_random_array_long::sse_u8_argmax
0%
69.2 µs
69.2 µs
sse_f64_argminmax_rn
benches/bench_f64_return_nan.rs::benches::argminmax_rn_f64_random_array_long::sse_f64_argminmax_rn
0%
701 µs
701 µs
sse_f64_argmin_rn
benches/bench_f64_return_nan.rs::benches::argminmax_rn_f64_random_array_long::sse_f64_argmin_rn
0%
701.1 µs
701.1 µs
sse_f16_argminmax_rn
benches/bench_f16_return_nan.rs::benches::argminmax_rn_f16_random_array_long::sse_f16_argminmax_rn
0%
159.1 µs
159.1 µs
sse_f16_argmin_rn
benches/bench_f16_return_nan.rs::benches::argminmax_rn_f16_random_array_long::sse_f16_argmin_rn
0%
159.2 µs
159.2 µs
avx2_i8_argmin
benches/bench_i8.rs::benches::argminmax_i8_random_array_long::avx2_i8_argmin
0%
62.4 µs
62.4 µs
avx2_u8_argmax
benches/bench_u8.rs::benches::argminmax_u8_random_array_long::avx2_u8_argmax
0%
62.5 µs
62.5 µs
impl_i8_argmax
benches/bench_i8.rs::benches::argminmax_i8_random_array_long::impl_i8_argmax
0%
85.3 µs
85.3 µs
impl_i8_argmin
benches/bench_i8.rs::benches::argminmax_i8_random_array_long::impl_i8_argmin
0%
85.3 µs
85.3 µs
impl_i8_argminmax
benches/bench_i8.rs::benches::argminmax_i8_random_array_long::impl_i8_argminmax
0%
85.3 µs
85.3 µs
sse_f16_argmax_rn
benches/bench_f16_return_nan.rs::benches::argminmax_rn_f16_random_array_long::sse_f16_argmax_rn
0%
159.2 µs
159.2 µs
avx2_u16_argmin
benches/bench_u16.rs::benches::argminmax_u16_random_array_long::avx2_u16_argmin
0%
106.7 µs
106.7 µs
scalar_f32_argmin_rn
benches/bench_f32_return_nan.rs::benches::argminmax_rn_f32_random_array_long::scalar_f32_argmin_rn
0%
528.1 µs
528.1 µs
avx2_u16_argminmax
benches/bench_u16.rs::benches::argminmax_u16_random_array_long::avx2_u16_argminmax
0%
113.1 µs
113.1 µs
scalar_f64_argmin_rn
benches/bench_f64_return_nan.rs::benches::argminmax_rn_f64_random_array_long::scalar_f64_argmin_rn
0%
714.8 µs
714.8 µs
scalar_f64_argminmax_rn
benches/bench_f64_return_nan.rs::benches::argminmax_rn_f64_random_array_long::scalar_f64_argminmax_rn
0%
714.8 µs
714.8 µs
sse_u32_argminmax
benches/bench_u32.rs::benches::argminmax_u32_random_array_long::sse_u32_argminmax
0%
301.2 µs
301.2 µs
sse_u32_argmin
benches/bench_u32.rs::benches::argminmax_u32_random_array_long::sse_u32_argmin
0%
265.4 µs
265.4 µs
sse_i64_argminmax
benches/bench_i64.rs::benches::argminmax_i64_random_array_long::sse_i64_argminmax
0%
608.6 µs
608.6 µs
sse_u64_argminmax
benches/bench_u64.rs::benches::argminmax_u64_random_array_long::sse_u64_argminmax
0%
622.8 µs
622.8 µs
sse_f32_argmax_rn
benches/bench_f32_return_nan.rs::benches::argminmax_rn_f32_random_array_long::sse_f32_argmax_rn
0%
319.1 µs
319.1 µs
avx2_i64_argminmax
benches/bench_i64.rs::benches::argminmax_i64_random_array_long::avx2_i64_argminmax
0%
459.4 µs
459.4 µs
avx2_i64_argmin
benches/bench_i64.rs::benches::argminmax_i64_random_array_long::avx2_i64_argmin
0%
437.9 µs
437.9 µs
impl_f64_argmax_rn
benches/bench_f64_return_nan.rs::benches::argminmax_rn_f64_random_array_long::impl_f64_argmax_rn
0%
495.1 µs
495.1 µs
impl_f64_argmin_rn
benches/bench_f64_return_nan.rs::benches::argminmax_rn_f64_random_array_long::impl_f64_argmin_rn
0%
495.1 µs
495.1 µs
impl_f64_argminmax_rn
benches/bench_f64_return_nan.rs::benches::argminmax_rn_f64_random_array_long::impl_f64_argminmax_rn
0%
495.1 µs
495.1 µs
sse_i64_argmin
benches/bench_i64.rs::benches::argminmax_i64_random_array_long::sse_i64_argmin
0%
551.6 µs
551.6 µs
scalar_i32_argminmax
benches/bench_i32.rs::benches::argminmax_i32_random_array_long::scalar_i32_argminmax
0%
442.8 µs
442.8 µs
scalar_u32_argminmax
benches/bench_u32.rs::benches::argminmax_u32_random_array_long::scalar_u32_argminmax
0%
442.8 µs
442.8 µs
scalar_f32_argminmax_rn
benches/bench_f32_return_nan.rs::benches::argminmax_rn_f32_random_array_long::scalar_f32_argminmax_rn
0%
528.1 µs
528.1 µs
impl_i32_argmax
benches/bench_i32.rs::benches::argminmax_i32_random_array_long::impl_i32_argmax
0%
225.1 µs
225.1 µs
impl_i32_argmin
benches/bench_i32.rs::benches::argminmax_i32_random_array_long::impl_i32_argmin
0%
225.1 µs
225.1 µs
impl_i32_argminmax
benches/bench_i32.rs::benches::argminmax_i32_random_array_long::impl_i32_argminmax
0%
225.1 µs
225.1 µs
sse_f64_argmin_in
benches/bench_f64_ignore_nan.rs::benches::argminmax_in_f64_random_array_long::sse_f64_argmin_in
0%
484.2 µs
484.2 µs
scalar_u64_argminmax
benches/bench_u64.rs::benches::argminmax_u64_random_array_long::scalar_u64_argminmax
0%
629.5 µs
629.5 µs
avx2_f64_argmax_rn
benches/bench_f64_return_nan.rs::benches::argminmax_rn_f64_random_array_long::avx2_f64_argmax_rn
0%
495 µs
495 µs
scalar_i16_argmin
benches/bench_i16.rs::benches::argminmax_i16_random_array_long::scalar_i16_argmin
0%
292.6 µs
292.6 µs
scalar_i16_argminmax
benches/bench_i16.rs::benches::argminmax_i16_random_array_long::scalar_i16_argminmax
0%
349.5 µs
349.5 µs
scalar_i64_argmin
benches/bench_i64.rs::benches::argminmax_i64_random_array_long::scalar_i64_argmin
0%
544.2 µs
544.2 µs
scalar_i8_argmin
benches/bench_i8.rs::benches::argminmax_i8_random_array_long::scalar_i8_argmin
0%
253 µs
253 µs
scalar_u16_argmin
benches/bench_u16.rs::benches::argminmax_u16_random_array_long::scalar_u16_argmin
0%
292.6 µs
292.6 µs
scalar_u64_argmin
benches/bench_u64.rs::benches::argminmax_u64_random_array_long::scalar_u64_argmin
0%
544.2 µs
544.2 µs
scalar_u8_argmin
benches/bench_u8.rs::benches::argminmax_u8_random_array_long::scalar_u8_argmin
0%
253 µs
253 µs
avx2_u64_argminmax
benches/bench_u64.rs::benches::argminmax_u64_random_array_long::avx2_u64_argminmax
0%
459.4 µs
459.4 µs
sse_i32_argmax
benches/bench_i32.rs::benches::argminmax_i32_random_array_long::sse_i32_argmax
0%
247.8 µs
247.8 µs
scalar_f64_argminmax_in
benches/bench_f64_ignore_nan.rs::benches::argminmax_in_f64_random_array_long::scalar_f64_argminmax_in
0%
658 µs
658 µs
scalar_i64_argminmax
benches/bench_i64.rs::benches::argminmax_i64_random_array_long::scalar_i64_argminmax
0%
629.5 µs
629.5 µs
scalar_i8_argminmax
benches/bench_i8.rs::benches::argminmax_i8_random_array_long::scalar_i8_argminmax
0%
359.7 µs
359.7 µs
avx2_f64_argmin_rn
benches/bench_f64_return_nan.rs::benches::argminmax_rn_f64_random_array_long::avx2_f64_argmin_rn
0%
495 µs
495 µs
avx2_f64_argminmax_rn
benches/bench_f64_return_nan.rs::benches::argminmax_rn_f64_random_array_long::avx2_f64_argminmax_rn
0%
494.9 µs
494.9 µs
scalar_i32_argmin
benches/bench_i32.rs::benches::argminmax_i32_random_array_long::scalar_i32_argmin
0%
357.5 µs
357.5 µs
avx_f64_argmax_in
benches/bench_f64_ignore_nan.rs::benches::argminmax_in_f64_random_array_long::avx_f64_argmax_in
0%
422 µs
422 µs
avx_f32_argmax_in
benches/bench_f32_ignore_nan.rs::benches::argminmax_in_f32_random_array_long::avx_f32_argmax_in
0%
211.4 µs
211.4 µs
avx_f32_argmin_in
benches/bench_f32_ignore_nan.rs::benches::argminmax_in_f32_random_array_long::avx_f32_argmin_in
0%
211.5 µs
211.5 µs
avx2_f32_argmin_rn
benches/bench_f32_return_nan.rs::benches::argminmax_rn_f32_random_array_long::avx2_f32_argmin_rn
0%
235.6 µs
235.6 µs
avx2_f32_argminmax_rn
benches/bench_f32_return_nan.rs::benches::argminmax_rn_f32_random_array_long::avx2_f32_argminmax_rn
0%
235.5 µs
235.5 µs
impl_u16_argmax
benches/bench_u16.rs::benches::argminmax_u16_random_array_long::impl_u16_argmax
0%
113.3 µs
113.3 µs
impl_u16_argmin
benches/bench_u16.rs::benches::argminmax_u16_random_array_long::impl_u16_argmin
0%
113.3 µs
113.3 µs
impl_u16_argminmax
benches/bench_u16.rs::benches::argminmax_u16_random_array_long::impl_u16_argminmax
0%
113.3 µs
113.3 µs
avx2_u8_argminmax
benches/bench_u8.rs::benches::argminmax_u8_random_array_long::avx2_u8_argminmax
0%
73.9 µs
73.9 µs
impl_f16_argmax_rn
benches/bench_f16_return_nan.rs::benches::argminmax_rn_f16_random_array_long::impl_f16_argmax_rn
0%
119.5 µs
119.5 µs
impl_f16_argmin_rn
benches/bench_f16_return_nan.rs::benches::argminmax_rn_f16_random_array_long::impl_f16_argmin_rn
0%
119.5 µs
119.5 µs
impl_f16_argminmax_rn
benches/bench_f16_return_nan.rs::benches::argminmax_rn_f16_random_array_long::impl_f16_argminmax_rn
0%
119.5 µs
119.5 µs
scalar_f32_argminmax_in
benches/bench_f32_ignore_nan.rs::benches::argminmax_in_f32_random_array_long::scalar_f32_argminmax_in
0%
471.3 µs
471.4 µs
scalar_f16_argmax_rn
benches/bench_f16_return_nan.rs::benches::argminmax_rn_f16_random_array_long::scalar_f16_argmax_rn
0%
634 µs
634 µs
scalar_f16_argmin_rn
benches/bench_f16_return_nan.rs::benches::argminmax_rn_f16_random_array_long::scalar_f16_argmin_rn
0%
634 µs
634 µs
scalar_f16_argminmax_rn
benches/bench_f16_return_nan.rs::benches::argminmax_rn_f16_random_array_long::scalar_f16_argminmax_rn
0%
634 µs
634 µs
sse_u64_argmin
benches/bench_u64.rs::benches::argminmax_u64_random_array_long::sse_u64_argmin
0%
565.9 µs
565.9 µs
sse_u64_argmax
benches/bench_u64.rs::benches::argminmax_u64_random_array_long::sse_u64_argmax
0%
523.2 µs
523.2 µs
sse_f64_argmax_in
benches/bench_f64_ignore_nan.rs::benches::argminmax_in_f64_random_array_long::sse_f64_argmax_in
0%
484.2 µs
484.2 µs
scalar_u16_argminmax
benches/bench_u16.rs::benches::argminmax_u16_random_array_long::scalar_u16_argminmax
0%
349.5 µs
349.5 µs
scalar_u32_argmin
benches/bench_u32.rs::benches::argminmax_u32_random_array_long::scalar_u32_argmin
0%
357.5 µs
357.5 µs
sse_f32_argmin_rn
benches/bench_f32_return_nan.rs::benches::argminmax_rn_f32_random_array_long::sse_f32_argmin_rn
0%
319.1 µs
319.1 µs
sse_f32_argminmax_rn
benches/bench_f32_return_nan.rs::benches::argminmax_rn_f32_random_array_long::sse_f32_argminmax_rn
0%
319 µs
319 µs
sse_i32_argminmax
benches/bench_i32.rs::benches::argminmax_i32_random_array_long::sse_i32_argminmax
0%
290.5 µs
290.5 µs
sse_u32_argmax
benches/bench_u32.rs::benches::argminmax_u32_random_array_long::sse_u32_argmax
0%
265.4 µs
265.5 µs
sse_i64_argmax
benches/bench_i64.rs::benches::argminmax_i64_random_array_long::sse_i64_argmax
0%
508.9 µs
508.9 µs
avx2_i32_argminmax
benches/bench_i32.rs::benches::argminmax_i32_random_array_long::avx2_i32_argminmax
0%
224.8 µs
224.9 µs
avx2_i32_argmin
benches/bench_i32.rs::benches::argminmax_i32_random_array_long::avx2_i32_argmin
0%
211.4 µs
211.4 µs
avx2_u32_argmax
benches/bench_u32.rs::benches::argminmax_u32_random_array_long::avx2_u32_argmax
0%
215.8 µs
215.8 µs
avx2_i32_argmax
benches/bench_i32.rs::benches::argminmax_i32_random_array_long::avx2_i32_argmax
0%
211.3 µs
211.3 µs
avx2_u16_argmax
benches/bench_u16.rs::benches::argminmax_u16_random_array_long::avx2_u16_argmax
0%
106.7 µs
106.7 µs
impl_u8_argmax
benches/bench_u8.rs::benches::argminmax_u8_random_array_long::impl_u8_argmax
0%
86.1 µs
86.1 µs
impl_u8_argmin
benches/bench_u8.rs::benches::argminmax_u8_random_array_long::impl_u8_argmin
0%
86.1 µs
86.1 µs
impl_u8_argminmax
benches/bench_u8.rs::benches::argminmax_u8_random_array_long::impl_u8_argminmax
0%
86.1 µs
86.1 µs
sse_i8_argmax
benches/bench_i8.rs::benches::argminmax_i8_random_array_long::sse_i8_argmax
0%
67.4 µs
67.5 µs
avx2_u32_argmin
benches/bench_u32.rs::benches::argminmax_u32_random_array_long::avx2_u32_argmin
0%
215.7 µs
215.8 µs
avx2_i8_argminmax
benches/bench_i8.rs::benches::argminmax_i8_random_array_long::avx2_i8_argminmax
0%
74.1 µs
74.2 µs
avx2_u8_argmin
benches/bench_u8.rs::benches::argminmax_u8_random_array_long::avx2_u8_argmin
0%
61.9 µs
61.9 µs
sse_u8_argminmax
benches/bench_u8.rs::benches::argminmax_u8_random_array_long::sse_u8_argminmax
0%
85.9 µs
86 µs

Commits

Click on a commit to change the comparison range
base
main
a71aa98
+82%
perf: add explicit argmax scalar impl
67e82df
2 years ago
by jvdd
-97%
perf: add explicit argmin scalar impl
6c7fa6b
2 years ago
by jvdd
+97%
perf: revert scalar impl to double check
98673f6
2 years ago
by jvdd
ResourcesHomePricingDocsBlogGitHubChangelog
Copyright © 2024 CodSpeed Technology SAS. All rights reserved.