Get the latest tech news
21 GB/s CSV Parsing Using SIMD on AMD 9950X
Sep 0.10.0 was released April 22nd, 2025 with optimizations for AVX-512 capable CPUs like the AMD 9950X (Zen 5) and updated benchmarks including the 9950X. Sep now achieves a staggering 21 GB/s on the 9950X for the low-level CSV parsing. 🚀 Before 0.10.0, Sep achieved ~18 GB/s on 9950X.
The main take away is that Sep has seen incremental improvements to performance driven by both major (e.g. almost complete rewrite of internals in 0.2.0) and minor code changes. In Sep the Parse method is marked with AggressiveInlining to ensure it is inlined, which means one can in principle go to ParseColEnds in Visual Studio with Disasmo installed and hit ALT + SHIFT + D. Unfortunately, for some reason this does not work currently unless you change the parser from a class to struct. To address the above code generation issues, in Sep 0.10.0 I changed the AVX-512 based parser by moving the MoveMask calls earlier to avoid the whole mask register back and forth as shown below.
Or read this on Hacker News