ashvardanian / StringZilla

Up to 10x faster strings for C, C++, Python, Rust, and Swift, leveraging NEON, AVX2, AVX-512, and SWAR to accelerate search, sort, edit distances, alignment scores, etc 🦖
https://ashvardanian.com/posts/stringzilla/
Apache License 2.0
2.05k stars 66 forks source link

Adding reverse-order SWAR search backends #70

Open ashvardanian opened 7 months ago

ashvardanian commented 7 months ago

StringZilla currently implements several SWAR search optimizations for needles of different length: _sz_find_2byte_serial, _sz_find_3byte_serial, _sz_find_4byte_serial. Those currently lack reverse-order variants and should be implemented to guarantee the same level of throughput on non-SIMD devices in reverse-order operations.

Implementing those is fairly strait-forward, and can be a great first issue for people used to C programming.