#iterator #simd #algorithm #operations #simd-accelerated #find #max

nightly simd-itertools

SIMD-accelerated alternatives for common operations like contains, max, find etc

6 releases

0.2.3 Jul 15, 2024
0.2.2 Jul 15, 2024
0.1.1 Jul 11, 2024

#325 in Concurrency

Download history 142/week @ 2024-07-05 497/week @ 2024-07-12 41/week @ 2024-07-19 23/week @ 2024-07-26 27/week @ 2024-08-02 245/week @ 2024-08-09 183/week @ 2024-08-16 145/week @ 2024-08-23 165/week @ 2024-08-30 152/week @ 2024-09-06 58/week @ 2024-09-13 94/week @ 2024-09-20 61/week @ 2024-09-27 145/week @ 2024-10-04

377 downloads per month
Used in candystore

MIT/Apache

155KB
1.5K SLoC

SIMD-accelerated iterators

crates.io

Change:

arr.iter().contains()

To:

arr.iter().contains_simd()

Currently the following are implemented:

find filter position contains eq min/max is_sorted all_equal

And works for slice iterators of types: u8,u16,u32,u64,i8,i16,i32,i64,f32,f64,isize,usize

🔥🚀 Performance gain compared to the standard library 🚀🔥

Performance gain of compared to std implementation (u32) You can expect similar performance across the functions.

Requires nightly for now 😔:

rustup toolchain install nightly
rustup default nightly
// revert back to stable: rustup default stable

To get the best performance make sure you are compiling with -C target-cpu=native For example:

RUSTFLAGS='-C target-cpu=native' cargo run

Dependencies

~450KB