这个项目能做什么
RustyCSV 是一个专门为 Elixir 设计的 CSV 解析和编码库,通过 Rust NIF 实现,以最大化性能。它旨在作为 NimbleCSV 的直接替代品,保持 API 兼容性的同时,引入了 SIMD 加速、并行解析和有界内存流式处理等高级特性。该库避免了对现有 Rust CSV 库的封装,而是直接与 BEAM VM 集成,将数据解析为 Erlang 术语,从而减少了分配开销和调度器负载。
主要特性包括三种解析策略:SIMD(默认,适用于大多数文件)、并行(适用于大型或包含大量引号的文件)和流式(适用于无界数据,内存占用有界)。RustyCSV 支持多种编码(UTF-8、UTF-16、Latin-1、UTF-32)、多分隔符配置,以及将标题转换为映射。它完全符合 RFC 4180 标准,并经过了广泛的测试套件验证。此外,该库还提供 NIF 加速的编码功能,适用于高吞吐量的并发导出,并可选地支持 mimalloc 以改善多线程场景中的内存管理。
评论
0 评分人数达到10人后显示
登录后参与讨论。