عن المشروع
RustyCSV is a specialized CSV parsing and encoding library for Elixir, implemented as a Rust NIF to maximize performance. It is designed as a drop-in replacement for NimbleCSV, maintaining API compatibility while introducing advanced features such as SIMD acceleration, parallel parsing, and bounded-memory streaming. The library avoids wrapping existing Rust CSV crates, instead directly integrating with the BEAM VM to parse into Erlang terms efficiently, reducing allocation overhead and scheduler load.
Key features include three parsing strategies: SIMD (default, fastest for most files), parallel (for large or quote-heavy files), and streaming (for unbounded data with bounded memory). RustyCSV supports multiple encodings (UTF-8, UTF-16, Latin-1, UTF-32), multi-separator configurations, and headers-to-maps conversion. It is fully RFC 4180 compliant and validated against extensive test suites. The library also offers NIF-accelerated encoding, suitable for high-throughput concurrent exports, and includes optional mimalloc support for improved memory management in multi-threaded scenarios.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.