Releases: Phelsong/mojo_csv
Releases · Phelsong/mojo_csv
v1.4.0
- Add byte-level comparison optimization
- Use logical cores to determine thread count for better compatibility
- Added Large File benchmark
- Single Threaded Performance Improvements, ~3x speedup
- Threaded Performance Improvements, +100% over previous / ~+40% over single threaded on large files
average time in ms for micro file:
0.0076ms -> .0018ms
average time in ms for mini file:
0.24ms -> .073ms
average time in ms for small file:
1.39ms -> .41ms -> [T] .39ms
running benchmark for medium csv:
average time in ms for medium file:
121.22ms -> 36.46ms -> [T] 24.84ms
running benchmark for large csv:
average time in ms for large file:
3582.88ms -> 1253.20ms -> [T] 845.33ms
Note: Threaded Reader will be the default next release.
v1.3.0
Performance Improvements! 🎉
- [BETA] ThreadedCsvReader - A drop-in replacement for CsvReader with parallel processing capabilities
- Several minor optimizations (for single and threaded versions)
- More available methods (repr, etc...)
- Benchmarking - Performance benchmarks comparing sizes and single vs multi-threaded parsing
- Tests - to help maintain consistency
- Documentation - Usage examples and demonstrations
[BETA] ThreadedCsvReader Key Features
✅ Parallel Processing: Lightly Threaded
✅ Smart Fallback: Automatically uses single-threaded mode for small files
✅ Thread Safety: Safe to read from multiple threads after construction
✅ API Compatibility: Identical interface to the original CsvReader (Will likely fully replace in a version or 2)
✅ Configurable: Choose thread counts (default is 50% of all available)
✅ Robust: Handles quoted fields, different delimiters, and edge cases
v1.2.3
1.2.0
now with inline open!
- Updated to mojo 25.1.0 (including removing deprecated syntax)
- Updated
CsvReaderto init with aPathinstead of aFileHandle - Better validation and Error Handling for
CsvReader - Updated tests to auto validate outputs
- Updated tasks