« All posts

Csveee: Rust CSV Parser Hits 192 GB/s With Speculative Parsing

Csveee is a parallel Rust CSV parser using speculative chunk parsing, reaching up to 192 GB/s and a 10x speedup over rust-csv.

Csveee is a new Rust crate that parses CSV files in parallel across all available cores, fusing parsing and record processing into a single pass. Instead of pre-scanning files to resolve chunk boundaries that can land inside quoted fields, it speculatively parses each chunk under every possible starting state and discards the wrong passes during a merge phase that stitches results back together in order.

Benchmarked against roughly 1,000 real-world Kaggle CSV files, csveee reaches a geometric-mean throughput of 7.7 GB/s (4.7 GB/s on the DFA-only stable backend), versus 0.8 GB/s for rust-csv and 0.3 GB/s for DuckDB — about 10.85x and 25x faster respectively, with peaks up to 192 GB/s on large servers. Speedups grow with file size and core count as fixed startup costs get amortized over more data.

The design, based on the VLDB '26 paper 'One Pass to Parse Them All,' supports multiple I/O backends (mmap, ring buffer, per-chunk reads, borrowed slices) and dialect variations beyond RFC 4180. A SIMD backend is available on nightly Rust, while a DFA-based parser handles every configuration on stable. The crate is early-stage, with an unstable API and a minimum Rust version of 1.88.

This synthesis was produced from its source by AI; there is no human editor or manual review step. How we work