You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/home/getting_started.md
+26-18Lines changed: 26 additions & 18 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -94,7 +94,15 @@ ENC = CSVix.FileEncoding
94
94
{: .text-grey-dk-300 .bg-yellow-000 }
95
95
96
96
## Benchmark
97
-
The benchmark provided here is focused on the supposed most critical operation, this is the parse one when working with CSV files. Although, benchmark for the exportation procedure is given on.
97
+
98
+
>📝**Note**
99
+
>{: .text-grey-lt-000 .bg-green-000 }
100
+
>Since the v2.0.0 of the `CSVinterface` we adopted the variant data Type array for internals data storage. Is well-known that this data Type has the worst performance in the VBA universe, but we desire bring to user the possibility to work with jagged arrays and let the class pay the cost in performance by that choice.
101
+
>
102
+
>However, if you need more data processing performance and not want support to jagged arrays, you can download [this version](https://github.com/ws-garcia/VBA-CSV-interface/releases/tag/1.1.6) of the `CSVinterface` class.
103
+
{: .text-grey-dk-300 .bg-grey-lt-000 }
104
+
105
+
The benchmark provided here is focused on the supposed most critical operation, this is the parse one for many authors. Although, benchmark for the exportation procedure is given on.
98
106
99
107
The class was tested against two solutions (the one from [@Senipah](https://github.com/Senipah/VBA-Better-Array) and the other from [@sdkn104](https://github.com/sdkn104/VBA-CSV)) using a laptop running `Win 10 Pro x64, Intel® Core™ i7-4500U CPU @1.80-2.40 GHz, 8 GB RAM, Excel 2019 x86`. The test works in two ways, 100K calls to the import procedure over three (3) different files, each of this with three records (3) and four fields (4), or one (1) call to the import procedure parsing a larger file. In all cases, the overall work load is 1.2MM of fields. The CSV files are:
100
108
*_RFC-4180_OH.csv_: **OH**- Only the headers are quoted (4 fields)
@@ -119,27 +127,27 @@ First three of files have special chars (line breaks, commas, double quotes) int
@@ -163,8 +171,8 @@ The images bellow shows the overall performance for the imports and exports oper
163
171
164
172
### Conclusions
165
173
166
-
-`ImportFromCSVString` is the tested faster one import method, outperforming its nearer counterpart by a factor of 2.5x in performance.
167
-
- The CSV syntax impacts the performance in this way: as the number of escaped fields is increased, the performance is decreased.
174
+
-`ImportFromCSVString` is the tested faster one import method, outperforming its nearer counterpart by a 2x to 3x factor in performance.
175
+
- The CSV syntax slow-down the performance when the number of escaped fields, the number of white spaces between fields and the lines-breaks into fields are increased.
168
176
- When working with CSVs compliant with the RFC-4180 specs, the `ImportFromCSVString` method is faster than the `ExportToCSV` method. This scenario is inverted when working with well-formed CSVs without checking the RFC-4180 specs.
0 commit comments