Integer division is an arithmetic operation that is not provided natively by SIMD instruction set extensions. In this article we provide a vectorized solution to successfully divide signed 64-bit integers by taking advantage of AVX-512
Sneller relies on a custom vectorized compression algorithm to enable extreme decompression speeds.
Sneller uses 16 parallel data lanes for almost all tasks, including loading and decompressing data, all without the use of branches. We heavily rely on predicated instruction execution provided by the AVX-512 instruction set to achieve this. In this post, we will explain a simple example of converting a string to uppercase, which is frequently used in our string processing functions.
We present a speed comparison between ripgrep and Sneller’s SQL regular expression engine. We conclude that Sneller is faster with large text files, thanks to its ability to leverage multi-threading and optimized hardware utilization, despite the performance penalty for decompressing data.