Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
38 commits
Select commit Hold shift + click to select a range
fb96984
mojo_csv
Phelsong Mar 12, 2025
0cccda6
Update recipe.yaml for CI
Mar 13, 2025
4799442
unquote for ci
Phelsong Mar 19, 2025
532a532
update test
Phelsong Mar 25, 2025
acae1eb
Merge branch 'main' into main
carolinefrasca Apr 14, 2025
a79c0d9
Update source git URL
carolinefrasca Apr 14, 2025
e93d802
change tests syntax
carolinefrasca Apr 14, 2025
0468a4a
Merge branch 'main' into main
carolinefrasca Apr 14, 2025
9b83dea
Merge branch 'main' into main
Phelsong Apr 23, 2025
28c6b0b
Merge branch 'main' into main
Phelsong Apr 29, 2025
181b35b
Merge branch 'main' into main
carolinefrasca Apr 30, 2025
63c9619
Merge branch 'main' into main
carolinefrasca Apr 30, 2025
811f118
verify 25.3.0 and update test
Phelsong Jun 3, 2025
433e85f
Merge branch 'main' into main
Phelsong Jun 3, 2025
87058f1
Merge branch 'main' into main
carolinefrasca Jun 3, 2025
95caa34
update test
Phelsong Jun 5, 2025
564d561
Merge remote-tracking branch 'origin/main'
Phelsong Jun 5, 2025
5a4d112
Merge branch 'main' into main
Phelsong Jun 5, 2025
ed4bd1a
Merge branch 'main' into main
carolinefrasca Jun 5, 2025
e36062c
update csv path
Phelsong Jun 5, 2025
5107692
Merge branch 'main' into main
Phelsong Jun 5, 2025
30ed096
Merge branch 'main' into main
carolinefrasca Jun 9, 2025
770b35c
update test to cwd
Phelsong Jun 10, 2025
0967a1b
Merge remote-tracking branch 'origin/main'
Phelsong Jun 10, 2025
8a55ce0
Merge branch 'main' into main
Phelsong Jun 10, 2025
fb67417
update build and versioning
Phelsong Jun 18, 2025
3203ee0
Merge branch 'main' into main
Phelsong Jun 18, 2025
c02eef6
add logo
Phelsong Jun 19, 2025
378904b
update readme
Phelsong Jun 19, 2025
55ac9cb
Merge branch 'main' into main
carolinefrasca Jun 24, 2025
ccd9da8
update mojo_csv to 1.3
Phelsong Jul 7, 2025
80e98ad
Merge branch 'main' into main
Phelsong Jul 7, 2025
573e99f
1.4.0
Phelsong Jul 21, 2025
14c23d3
update mojo_csv to 1.4.0
Phelsong Jul 21, 2025
f39d27c
mojo_csv_1.5.0/mojo_25.5.0
Phelsong Aug 8, 2025
8b3364c
Merge branch 'main' into main
Phelsong Aug 8, 2025
8d8ee9f
Merge branch 'main' of github.com:Phelsong/modular-community
Phelsong Oct 11, 2025
c7f5d0a
update mojo_csv to 1.6.0 & max 0.25.6
Phelsong Oct 11, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
49 changes: 16 additions & 33 deletions recipes/mojo_csv/README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@

<!-- ![mojo_csv_logo](./mojo_csv_logo.png) -->
<image src='./mojo_csv_logo.png' width='900'/>

Expand Down Expand Up @@ -93,10 +92,7 @@ reader[0] # first element
```

### Performance

- average times over 100-1k iterations
- AMD [email protected]
- single-threaded
__See BENCHMARK.md for expanded info__

micro file benchmark (3 rows)
mini (100 rows)
Expand Down Expand Up @@ -126,34 +122,21 @@ average time in ms for large file:
878.6 ms
```

#### CSV Reader Performance Comparison
```
Small file benchmark (1,000 rows):
Single-threaded:
Average time: 0.455 ms
Multi-threaded:
Average time: 0.3744 ms
Speedup: 1.22 x

Medium file benchmark (100,000 rows):
Single-threaded:
Average time: 37.37 ms
Multi-threaded:
Average time: 24.46 ms
Speedup: 1.53 x

Large file benchmark (2,000,000 rows):
Single-threaded:
Average time: 1210.3 ms
Multi-threaded:
Average time: 863.9 ms
Speedup: 1.4 x

Summary:
Small file speedup: 1.22 x
Medium file speedup: 1.53 x
Large file speedup: 1.4 x
```
## Experimental
Dict Reader and CsvWriter are in Beta

=== DictCsvReader Performance ===
-----------------------------------
Small file benchmark (1,000 rows):
Small Single-threaded: 0.6154 ms
Small Threaded: 0.5044 ms
-----------------------------------
Medium file benchmark (100,000 rows):
Medium: 42.04 ms
-----------------------------------
Large file benchmark (2,000,000 rows):
Large: 1280.5 ms



## Future Improvements
Expand Down
6 changes: 3 additions & 3 deletions recipes/mojo_csv/recipe.yaml
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
context:
version: 1.5.0
version: 1.6.0

package:
name: "mojo_csv"
version: ${{ version }}

source:
- git: https://github.com/Phelsong/mojo_csv.git
rev: b3a9dc4422efbea7a94939e3a48ff4a3b03e3505
rev: 79dfe70cfc3088548aafc490ca1fa1b7133970e6

build:
number: 0
Expand All @@ -16,7 +16,7 @@ build:

requirements:
host:
- max >=25.4.0,<26
- max >=0.25.6,<26
run:
- ${{ pin_compatible('max') }}

Expand Down