Skip to content

Commit

Permalink
update/benchamark v2.0.0 (#80)
Browse files Browse the repository at this point in the history
  • Loading branch information
leandromoh authored Oct 17, 2023
1 parent 569d86e commit dac2e69
Showing 1 changed file with 43 additions and 42 deletions.
85 changes: 43 additions & 42 deletions Benchmark.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
## Benchmark [#e140808](https://github.com/leandromoh/RecordParser/tree/e140808855d5c599e432c61e78a2b7a67bacb660)
## Benchmark [#569d86e](https://github.com/leandromoh/RecordParser/tree/569d86eb58cc2f48887e6e6002ec43f22ad53b84)

### VariableLength Write

Expand All @@ -13,18 +13,17 @@ Intel Core i7-8650U CPU 1.90GHz (Kaby Lake R), 1 CPU, 8 logical and 4 physical c
Job=.NET 7.0 Runtime=.NET 7.0

```
| Method | LimitRecord | parallel | ordered | Mean | Error | StdDev | Gen0 | Gen1 | Gen2 | Allocated |
|-------------------------------------------- |------------ |--------- |-------- |-----------:|---------:|---------:|------------:|----------:|----------:|----------:|
| Write_VariableLength_RecordParser_Extension | 500000 | False | ? | 498.3 ms | 9.88 ms | 23.68 ms | - | - | - | 1.63 MB |
| Write_VariableLength_RecordParser_Extension | 500000 | True | False | 864.3 ms | 17.18 ms | 31.84 ms | - | - | - | 1.7 MB |
| Write_VariableLength_RecordParser_Extension | 500000 | True | True | 892.6 ms | 16.88 ms | 38.45 ms | - | - | - | 1.7 MB |
| Write_VariableLength_ManualString | 500000 | ? | ? | 660.0 ms | 13.13 ms | 31.20 ms | 30000.0000 | - | - | 121.45 MB |
| Write_VariableLength_RecordParser | 500000 | ? | ? | 622.5 ms | 12.32 ms | 29.99 ms | 1000.0000 | - | - | 5.17 MB |
| Write_VariableLength_FlatFiles | 500000 | ? | ? | 1,138.8 ms | 19.50 ms | 23.95 ms | 155000.0000 | - | - | 618.96 MB |
| Write_VariableLength_CSVHelper | 500000 | ? | ? | 946.5 ms | 18.72 ms | 27.45 ms | 73000.0000 | 7000.0000 | 7000.0000 | 523.16 MB |
| Write_VariableLength_SoftCircuitsCsvParser | 500000 | ? | ? | 1,150.2 ms | 21.87 ms | 24.31 ms | 118000.0000 | - | - | 473.08 MB |
| Write_VariableLength_ZString | 500000 | ? | ? | 568.4 ms | 14.39 ms | 41.05 ms | 1000.0000 | - | - | 5.15 MB |

| Method | LimitRecord | parallel | ordered | Mean | Error | StdDev | Gen0 | Gen1 | Gen2 | Allocated |
|-------------------------------------------- |------------ |--------- |-------- |-----------:|---------:|---------:|------------:|-----------:|----------:|----------:|
| Write_VariableLength_RecordParser_Extension | 500000 | False | ? | 496.0 ms | 9.51 ms | 21.46 ms | - | - | - | 1.62 MB |
| Write_VariableLength_RecordParser_Extension | 500000 | True | False | 449.8 ms | 8.62 ms | 20.48 ms | 24000.0000 | 13000.0000 | 3000.0000 | 142.28 MB |
| Write_VariableLength_RecordParser_Extension | 500000 | True | True | 470.0 ms | 9.35 ms | 22.05 ms | 24000.0000 | 13000.0000 | 3000.0000 | 144.05 MB |
| Write_VariableLength_ManualString | 500000 | ? | ? | 660.6 ms | 12.90 ms | 22.59 ms | 30000.0000 | - | - | 121.45 MB |
| Write_VariableLength_RecordParser | 500000 | ? | ? | 633.1 ms | 12.19 ms | 30.13 ms | 1000.0000 | - | - | 5.2 MB |
| Write_VariableLength_FlatFiles | 500000 | ? | ? | 1,184.6 ms | 19.21 ms | 40.93 ms | 155000.0000 | - | - | 618.96 MB |
| Write_VariableLength_CSVHelper | 500000 | ? | ? | 938.6 ms | 18.68 ms | 22.24 ms | 73000.0000 | 7000.0000 | 7000.0000 | 523.16 MB |
| Write_VariableLength_SoftCircuitsCsvParser | 500000 | ? | ? | 1,168.6 ms | 22.32 ms | 24.81 ms | 118000.0000 | - | - | 473.08 MB |
| Write_VariableLength_ZString | 500000 | ? | ? | 577.8 ms | 11.44 ms | 13.17 ms | 1000.0000 | - | - | 5.09 MB |

### VariableLength Read

Expand All @@ -39,26 +38,27 @@ Intel Core i7-8650U CPU 1.90GHz (Kaby Lake R), 1 CPU, 8 logical and 4 physical c
Job=.NET 7.0 Runtime=.NET 7.0

```
| Method | parallel | quoted | Mean | Error | StdDev | Median | Gen0 | Gen1 | Gen2 | Allocated |
|----------------------------------------------------- |--------- |------- |-----------:|----------:|----------:|-----------:|------------:|------------:|----------:|-----------:|
| Read_VariableLength_RecordParser_Parallel | False | False | 630.6 ms | 12.46 ms | 13.33 ms | 629.6 ms | 8000.0000 | 5000.0000 | 2000.0000 | 123.66 MB |
| Read_VariableLength_RecordParser_Raw | False | False | 1,069.3 ms | 17.73 ms | 17.41 ms | 1,066.0 ms | 16000.0000 | 9000.0000 | 3000.0000 | 170.1 MB |
| Read_VariableLength_FullQuoted_RecordParser_Parallel | False | True | 880.2 ms | 16.98 ms | 18.87 ms | 874.6 ms | 8000.0000 | 5000.0000 | 2000.0000 | 123.66 MB |
| Read_VariableLength_RecordParser_Parallel | False | True | 630.8 ms | 12.20 ms | 13.05 ms | 626.3 ms | 8000.0000 | 5000.0000 | 2000.0000 | 123.66 MB |
| Read_VariableLength_RecordParser_Raw | False | True | 1,097.8 ms | 19.93 ms | 49.27 ms | 1,081.0 ms | 16000.0000 | 9000.0000 | 3000.0000 | 170.09 MB |
| Read_VariableLength_RecordParser_Parallel | True | False | 268.0 ms | 12.70 ms | 34.77 ms | 257.4 ms | 17500.0000 | 12500.0000 | 3000.0000 | 131.49 MB |
| Read_VariableLength_RecordParser_Raw | True | False | 779.9 ms | 62.07 ms | 175.07 ms | 692.3 ms | 24000.0000 | 14000.0000 | 4000.0000 | 292.69 MB |
| Read_VariableLength_FullQuoted_RecordParser_Parallel | True | True | 494.6 ms | 19.31 ms | 55.73 ms | 477.0 ms | 11000.0000 | 8000.0000 | 2000.0000 | 77.84 MB |
| Read_VariableLength_RecordParser_Parallel | True | True | 275.8 ms | 16.36 ms | 46.67 ms | 259.0 ms | 18000.0000 | 14000.0000 | 3000.0000 | 139.46 MB |
| Read_VariableLength_RecordParser_Raw | True | True | 779.1 ms | 58.37 ms | 162.71 ms | 712.7 ms | 24000.0000 | 14000.0000 | 4000.0000 | 294.67 MB |
| Read_VariableLength_ManualString | ? | ? | 672.6 ms | 44.27 ms | 130.55 ms | 630.9 ms | 90000.0000 | - | - | 360.43 MB |
| Read_VariableLength_RecordParser | ? | ? | 536.3 ms | 30.41 ms | 87.25 ms | 494.9 ms | 12000.0000 | - | - | 49.38 MB |
| Read_VariableLength_FlatFiles | ? | ? | 2,526.6 ms | 215.40 ms | 631.75 ms | 2,461.8 ms | 207000.0000 | - | - | 825.79 MB |
| Read_VariableLength_ManualSpan | ? | ? | 478.5 ms | 34.55 ms | 100.77 ms | 418.9 ms | 12000.0000 | - | - | 49.32 MB |
| Read_VariableLength_CSVHelper | ? | ? | 2,254.4 ms | 202.15 ms | 592.87 ms | 1,950.0 ms | 36000.0000 | 15000.0000 | 4000.0000 | 275.33 MB |
| Read_VariableLength_TinyCsvParser | ? | ? | 839.7 ms | 68.89 ms | 196.55 ms | 752.9 ms | 282000.0000 | 120000.0000 | 2000.0000 | 1308.21 MB |
| Read_VariableLength_Cursively_Async | ? | ? | 464.7 ms | 25.70 ms | 73.75 ms | 433.6 ms | 12000.0000 | - | - | 49.46 MB |
| Read_VariableLength_Cursively_Sync | ? | ? | 387.8 ms | 34.30 ms | 100.60 ms | 328.4 ms | 12000.0000 | - | - | 49.53 MB |
| Method | parallel | quoted | Mean | Error | StdDev | Median | Gen0 | Gen1 | Gen2 | Allocated |
|----------------------------------------------------- |--------- |------- |-----------:|---------:|---------:|-----------:|------------:|------------:|----------:|-----------:|
| Read_VariableLength_RecordParser_Parallel | False | False | 606.6 ms | 11.78 ms | 11.01 ms | 606.7 ms | 7000.0000 | 4000.0000 | 1000.0000 | 107.66 MB |
| Read_VariableLength_RecordParser_Raw | False | False | 1,071.6 ms | 20.27 ms | 19.91 ms | 1,072.5 ms | 15000.0000 | 8000.0000 | 2000.0000 | 154.09 MB |
| Read_VariableLength_FullQuoted_RecordParser_Parallel | False | True | 872.1 ms | 16.05 ms | 25.46 ms | 864.2 ms | 7000.0000 | 4000.0000 | 1000.0000 | 107.66 MB |
| Read_VariableLength_RecordParser_Parallel | False | True | 605.7 ms | 8.27 ms | 7.33 ms | 607.0 ms | 7000.0000 | 4000.0000 | 1000.0000 | 107.66 MB |
| Read_VariableLength_RecordParser_Raw | False | True | 1,069.3 ms | 20.04 ms | 17.76 ms | 1,068.8 ms | 15000.0000 | 8000.0000 | 2000.0000 | 154.09 MB |
| Read_VariableLength_RecordParser_Parallel | True | False | 248.3 ms | 4.95 ms | 13.31 ms | 247.2 ms | 17000.0000 | 11000.0000 | 2333.3333 | 123.04 MB |
| Read_VariableLength_RecordParser_Raw | True | False | 658.6 ms | 12.96 ms | 22.02 ms | 661.8 ms | 24000.0000 | 13000.0000 | 3000.0000 | 293.84 MB |
| Read_VariableLength_FullQuoted_RecordParser_Parallel | True | True | 428.9 ms | 8.54 ms | 24.78 ms | 428.2 ms | 14000.0000 | 7000.0000 | 2000.0000 | 89.26 MB |
| Read_VariableLength_RecordParser_Parallel | True | True | 259.5 ms | 8.40 ms | 24.49 ms | 251.9 ms | 17000.0000 | 11500.0000 | 2500.0000 | 121.69 MB |
| Read_VariableLength_RecordParser_Raw | True | True | 667.4 ms | 13.30 ms | 24.32 ms | 663.6 ms | 23000.0000 | 13000.0000 | 3000.0000 | 288.79 MB |
| Read_VariableLength_ManualString | ? | ? | 552.1 ms | 14.23 ms | 41.52 ms | 532.1 ms | 90000.0000 | - | - | 360.43 MB |
| Read_VariableLength_RecordParser | ? | ? | 478.7 ms | 5.34 ms | 4.46 ms | 478.4 ms | 12000.0000 | - | - | 49.37 MB |
| Read_VariableLength_FlatFiles | ? | ? | 1,682.7 ms | 32.14 ms | 37.01 ms | 1,681.8 ms | 207000.0000 | - | - | 825.79 MB |
| Read_VariableLength_ManualSpan | ? | ? | 386.5 ms | 3.09 ms | 2.74 ms | 385.9 ms | 12000.0000 | - | - | 49.32 MB |
| Read_VariableLength_CSVHelper | ? | ? | 1,743.4 ms | 33.32 ms | 31.17 ms | 1,737.5 ms | 37000.0000 | 15000.0000 | 4000.0000 | 275.34 MB |
| Read_VariableLength_TinyCsvParser | ? | ? | 643.4 ms | 8.22 ms | 6.87 ms | 643.7 ms | 285000.0000 | 128000.0000 | 1000.0000 | 1308.14 MB |
| Read_VariableLength_Cursively_Async | ? | ? | 417.5 ms | 9.95 ms | 29.34 ms | 415.3 ms | 12000.0000 | - | - | 49.4 MB |
| Read_VariableLength_Cursively_Sync | ? | ? | 316.3 ms | 5.81 ms | 5.15 ms | 317.0 ms | 12000.0000 | - | - | 49.47 MB |


### FixedLength Read

Expand All @@ -73,13 +73,14 @@ Intel Core i7-8650U CPU 1.90GHz (Kaby Lake R), 1 CPU, 8 logical and 4 physical c
Job=.NET 7.0 Runtime=.NET 7.0

```
| Method | LimitRecord | parallel | Mean | Error | StdDev | Median | Gen0 | Gen1 | Gen2 | Allocated |
|--------------------------------------- |------------ |--------- |-----------:|---------:|---------:|-----------:|------------:|----------:|----------:|----------:|
| Read_FixedLength_RecordParser_Parallel | 400000 | False | 421.5 ms | 8.26 ms | 20.88 ms | 414.5 ms | 7000.0000 | 4000.0000 | 2000.0000 | 80.55 MB |
| Read_FixedLength_RecordParser_Parallel | 400000 | True | 210.2 ms | 4.08 ms | 5.30 ms | 209.5 ms | 13666.6667 | 7666.6667 | 2333.3333 | 112.19 MB |
| Read_FixedLength_ManualString | 400000 | ? | 440.7 ms | 6.47 ms | 5.74 ms | 441.1 ms | 74000.0000 | - | - | 295.59 MB |
| Read_FixedLength_RecordParser | 400000 | ? | 295.8 ms | 5.75 ms | 6.39 ms | 296.8 ms | 9000.0000 | - | - | 39.51 MB |
| Read_FixedLength_RecordParser_GetLines | 400000 | ? | 401.9 ms | 7.60 ms | 7.47 ms | 399.2 ms | 7000.0000 | 4000.0000 | 2000.0000 | 80.55 MB |
| Read_FixedLength_ManualSpan | 400000 | ? | 317.6 ms | 6.05 ms | 5.94 ms | 316.0 ms | 9000.0000 | - | - | 39.46 MB |
| Read_FixedLength_FlatFiles | 400000 | ? | 1,346.6 ms | 25.69 ms | 32.49 ms | 1,358.1 ms | 247000.0000 | - | - | 989.04 MB |
| Method | LimitRecord | parallel | Mean | Error | StdDev | Gen0 | Gen1 | Gen2 | Allocated |
|--------------------------------------- |------------ |--------- |-----------:|---------:|---------:|------------:|----------:|----------:|----------:|
| Read_FixedLength_RecordParser_Parallel | 400000 | False | 397.2 ms | 6.23 ms | 5.52 ms | 6000.0000 | 3000.0000 | 1000.0000 | 64.55 MB |
| Read_FixedLength_RecordParser_Parallel | 400000 | True | 206.2 ms | 4.09 ms | 9.39 ms | 13333.3333 | 6333.3333 | 2000.0000 | 105.77 MB |
| Read_FixedLength_ManualString | 400000 | ? | 465.4 ms | 7.51 ms | 7.02 ms | 74000.0000 | - | - | 295.59 MB |
| Read_FixedLength_RecordParser | 400000 | ? | 303.3 ms | 5.85 ms | 8.01 ms | 9500.0000 | - | - | 39.51 MB |
| Read_FixedLength_RecordParser_GetLines | 400000 | ? | 406.6 ms | 7.92 ms | 10.85 ms | 6000.0000 | 3000.0000 | 1000.0000 | 64.55 MB |
| Read_FixedLength_ManualSpan | 400000 | ? | 332.1 ms | 6.49 ms | 5.76 ms | 9000.0000 | - | - | 39.45 MB |
| Read_FixedLength_FlatFiles | 400000 | ? | 1,355.6 ms | 26.99 ms | 37.84 ms | 247000.0000 | - | - | 989.04 MB |


0 comments on commit dac2e69

Please sign in to comment.