Skip to content

Releases: Phelsong/mojo_csv

v1.4.0

22 Jul 14:12
d92e7b7

Choose a tag to compare

  • 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

07 Jul 01:17
bfffd9f

Choose a tag to compare

Performance Improvements! 🎉

  1. [BETA] ThreadedCsvReader - A drop-in replacement for CsvReader with parallel processing capabilities
  2. Several minor optimizations (for single and threaded versions)
  3. More available methods (repr, etc...)
  4. Benchmarking - Performance benchmarks comparing sizes and single vs multi-threaded parsing
  5. Tests - to help maintain consistency
  6. 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

19 Jun 03:00
a1e086e

Choose a tag to compare

  • added some basic method support
  • language syntax updates
  • updated tooling for tests/build

1.2.0

12 Mar 05:47
e642c06

Choose a tag to compare

  • added getitem and len
  • added header field
  • fixed bug with row counter
  • updated tests to cover most edge cases
  • Prepping for getting added to community repo

now with inline open!

22 Feb 06:57
df6ec6c

Choose a tag to compare

  • Updated to mojo 25.1.0 (including removing deprecated syntax)
  • Updated CsvReaderto init with a Path instead of a FileHandle
  • Better validation and Error Handling for CsvReader
  • Updated tests to auto validate outputs
  • Updated tasks

v1.0.1

05 Feb 05:36
e6af096

Choose a tag to compare

built against Mojo 24.6

updated syntax and packaging.

v1.0.0

27 Nov 17:04

Choose a tag to compare

initial release