프로젝트 소개

RustyCSV는 성능을 극대화하기 위해 Rust NIF로 구현된 Elixir용 특수 CSV 파싱 및 인코딩 라이브러리입니다. API 호환성을 유지하면서 SIMD 가속, 병렬 파싱, 제한된 메모리 스트리밍과 같은 고급 기능을 도입하여 NimbleCSV의 드롭인 대체품으로 설계되었습니다. 이 라이브러리는 기존 Rust CSV 크레이트를 래핑하지 않고 대신 BEAM VM과 직접 통합하여 Erlang 용어로 효율적으로 파싱하며, 할당 오버헤드와 스케줄러 부하를 줄입니다. 주요 기능으로는 세 가지 파싱 전략이 있습니다: SIMD(기본값, 대부분의 파일에서 가장 빠름), 병렬(크거나 따옴표가 많은 파일용), 스트리밍(제한된 메모리로 무한 데이터 처리). RustyCSV는 여러 인코딩(UTF-8, UTF-16, Latin-1, UTF-32), 다중 구분자 구성, 헤더-맵 변환을 지원합니다. RFC 4180을 완벽히 준수하며 광범위한 테스트 스위트로 검증되었습니다. 또한 고속 동시 내보내기에 적합한 NIF 가속 인코딩과 멀티스레드 시나리오에서 메모리 관리를 개선하는 선택적 mimalloc 지원을 제공합니다.