diff --git a/recipes/mojo_csv/README.md b/recipes/mojo_csv/README.md index 4c0b6bc..e94c267 100644 --- a/recipes/mojo_csv/README.md +++ b/recipes/mojo_csv/README.md @@ -1,4 +1,3 @@ - @@ -93,10 +92,7 @@ reader[0] # first element ``` ### Performance - -- average times over 100-1k iterations -- AMD 7950x@5.8ghz -- single-threaded +__See BENCHMARK.md for expanded info__ micro file benchmark (3 rows) mini (100 rows) @@ -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 diff --git a/recipes/mojo_csv/recipe.yaml b/recipes/mojo_csv/recipe.yaml index c780a65..5d72d42 100644 --- a/recipes/mojo_csv/recipe.yaml +++ b/recipes/mojo_csv/recipe.yaml @@ -1,5 +1,5 @@ context: - version: 1.5.0 + version: 1.6.0 package: name: "mojo_csv" @@ -7,7 +7,7 @@ package: source: - git: https://github.com/Phelsong/mojo_csv.git - rev: b3a9dc4422efbea7a94939e3a48ff4a3b03e3505 + rev: 79dfe70cfc3088548aafc490ca1fa1b7133970e6 build: number: 0 @@ -16,7 +16,7 @@ build: requirements: host: - - max >=25.4.0,<26 + - max >=0.25.6,<26 run: - ${{ pin_compatible('max') }}