Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
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
32 changes: 32 additions & 0 deletions benchmarks/Neoverse-N2/FloatsReaderBench.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
```

BenchmarkDotNet v0.16.0-preview.1, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
Memory: 15.57 GB Total, 11.36 GB Available
.NET SDK 11.0.100-rc.1.26425.128
[Host] : .NET 11.0.0 (11.0.0-rc.1.26425.128, 11.0.26.42628), Arm64 RyuJIT armv8.0-a
.NET 11.0 : .NET 11.0.0 (11.0.0-rc.1.26425.128, 11.0.26.42628), Arm64 RyuJIT armv8.0-a

Job=.NET 11.0 EnvironmentVariables=DOTNET_GCDynamicAdaptationMode=0 Runtime=.NET 11.0
Toolchain=net11.0 InvocationCount=Default IterationTime=350ms
MaxIterationCount=15 MinIterationCount=5 WarmupCount=6
Reader=String

```
| Method | Scope | Rows | Mean | Ratio | MB | MB/s | ns/row | Allocated | Alloc Ratio |
|---------- |------- |------ |-----------:|------:|---:|-------:|-------:|------------:|------------:|
| Sep______ | Row | 25000 | 3.264 ms | 1.00 | 20 | 6211.6 | 130.5 | 1.17 KB | 1.00 |
| Sylvan___ | Row | 25000 | 22.929 ms | 7.03 | 20 | 884.1 | 917.1 | 12.12 KB | 10.34 |
| ReadLine_ | Row | 25000 | 19.137 ms | 5.86 | 20 | 1059.3 | 765.5 | 73489.62 KB | 62,711.14 |
| CsvHelper | Row | 25000 | 33.162 ms | 10.16 | 20 | 611.3 | 1326.5 | 19.95 KB | 17.02 |
| | | | | | | | | | |
| Sep______ | Cols | 25000 | 4.223 ms | 1.00 | 20 | 4799.9 | 168.9 | 1.17 KB | 1.00 |
| Sylvan___ | Cols | 25000 | 26.468 ms | 6.27 | 20 | 765.9 | 1058.7 | 12.13 KB | 10.35 |
| ReadLine_ | Cols | 25000 | 19.268 ms | 4.56 | 20 | 1052.1 | 770.7 | 73489.62 KB | 62,711.14 |
| CsvHelper | Cols | 25000 | 35.943 ms | 8.51 | 20 | 564.0 | 1437.7 | 21340.16 KB | 18,210.27 |
| | | | | | | | | | |
| Sep______ | Floats | 25000 | 31.343 ms | 1.00 | 20 | 646.8 | 1253.7 | 7.82 KB | 1.00 |
| Sep_MT___ | Floats | 25000 | 9.373 ms | 0.30 | 20 | 2162.9 | 374.9 | 78.54 KB | 10.04 |
| Sylvan___ | Floats | 25000 | 84.094 ms | 2.68 | 20 | 241.1 | 3363.7 | 18.24 KB | 2.33 |
| ReadLine_ | Floats | 25000 | 96.642 ms | 3.08 | 20 | 209.8 | 3865.7 | 73492.93 KB | 9,397.70 |
| CsvHelper | Floats | 25000 | 135.964 ms | 4.34 | 20 | 149.1 | 5438.5 | 22061.3 KB | 2,821.03 |
28 changes: 28 additions & 0 deletions benchmarks/Neoverse-N2/PackageAssetsBench-GcServer.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
```

BenchmarkDotNet v0.16.0-preview.1, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
Memory: 15.57 GB Total, 11.36 GB Available
.NET SDK 11.0.100-rc.1.26425.128
[Host] : .NET 11.0.0 (11.0.0-rc.1.26425.128, 11.0.26.42628), Arm64 RyuJIT armv8.0-a
.NET 11.0 : .NET 11.0.0 (11.0.0-rc.1.26425.128, 11.0.26.42628), Arm64 RyuJIT armv8.0-a

Job=.NET 11.0 EnvironmentVariables=DOTNET_GCDynamicAdaptationMode=0 Runtime=.NET 11.0
Server=True Toolchain=net11.0 InvocationCount=Default
IterationTime=350ms MaxIterationCount=15 MinIterationCount=5
WarmupCount=6 Quotes=False Reader=String

```
| Method | Scope | Rows | Mean | Ratio | MB | MB/s | ns/row | Allocated | Alloc Ratio |
|---------- |------ |-------- |------------:|------:|----:|-------:|-------:|-----------:|------------:|
| Sep______ | Asset | 50000 | 32.58 ms | 1.00 | 29 | 892.7 | 651.6 | 13.48 MB | 1.00 |
| Sep_MT___ | Asset | 50000 | 12.03 ms | 0.37 | 29 | 2417.3 | 240.6 | 13.56 MB | 1.01 |
| Sylvan___ | Asset | 50000 | 52.95 ms | 1.63 | 29 | 549.3 | 1059.0 | 13.63 MB | 1.01 |
| ReadLine_ | Asset | 50000 | 51.33 ms | 1.58 | 29 | 566.7 | 1026.5 | 99.74 MB | 7.40 |
| CsvHelper | Asset | 50000 | 101.03 ms | 3.10 | 29 | 287.9 | 2020.5 | 13.64 MB | 1.01 |
| | | | | | | | | | |
| Sep______ | Asset | 1000000 | 647.09 ms | 1.00 | 581 | 899.2 | 647.1 | 260.41 MB | 1.00 |
| Sep_MT___ | Asset | 1000000 | 216.23 ms | 0.33 | 581 | 2691.0 | 216.2 | 267.4 MB | 1.03 |
| Sylvan___ | Asset | 1000000 | 1,065.44 ms | 1.65 | 581 | 546.1 | 1065.4 | 260.57 MB | 1.00 |
| ReadLine_ | Asset | 1000000 | 1,069.53 ms | 1.65 | 581 | 544.0 | 1069.5 | 1991.04 MB | 7.65 |
| CsvHelper | Asset | 1000000 | 1,984.34 ms | 3.07 | 581 | 293.2 | 1984.3 | 260.58 MB | 1.00 |
24 changes: 24 additions & 0 deletions benchmarks/Neoverse-N2/PackageAssetsBench-Parsers.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
```

BenchmarkDotNet v0.16.0-preview.1, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
Memory: 15.57 GB Total, 11.36 GB Available
.NET SDK 11.0.100-rc.1.26425.128
[Host] : .NET 11.0.0 (11.0.0-rc.1.26425.128, 11.0.26.42628), Arm64 RyuJIT armv8.0-a
.NET 11.0 : .NET 11.0.0 (11.0.0-rc.1.26425.128, 11.0.26.42628), Arm64 RyuJIT armv8.0-a

Job=.NET 11.0 EnvironmentVariables=DOTNET_GCDynamicAdaptationMode=0 Runtime=.NET 11.0
Toolchain=net11.0 InvocationCount=Default IterationTime=350ms
MaxIterationCount=15 MinIterationCount=5 WarmupCount=6
Quotes=False Reader=String

```
| Method | Parser | Scope | Rows | Mean | MB | MB/s | ns/row | Allocated |
|------- |------------------------------------------------ |------ |------ |----------:|---:|-------:|-------:|----------:|
| Sep_ | SepParserAdvSimdNrwCmpOrBulkMoveMaskTzcnt | Row | 50000 | 4.570 ms | 29 | 6364.9 | 91.4 | 960 B |
| Sep_ | SepParserAdvSimdLoad4xNrwCmpOrBulkMoveMaskTzcnt | Row | 50000 | 5.354 ms | 29 | 5432.0 | 107.1 | 960 B |
| Sep_ | SepParserVector128NrwCmpExtMsbTzcnt | Row | 50000 | 7.226 ms | 29 | 4025.2 | 144.5 | 976 B |
| Sep_ | SepParserVector64NrwCmpExtMsbTzcnt | Row | 50000 | 9.127 ms | 29 | 3186.8 | 182.5 | 936 B |
| Sep_ | SepParserIndexOfAny | Row | 50000 | 18.029 ms | 29 | 1613.2 | 360.6 | 936 B |
| Sep_ | SepParserVector512NrwCmpExtMsbTzcnt | Row | 50000 | 18.270 ms | 29 | 1592.0 | 365.4 | 1216 B |
| Sep_ | SepParserVector256NrwCmpExtMsbTzcnt | Row | 50000 | 18.288 ms | 29 | 1590.4 | 365.8 | 1056 B |
41 changes: 41 additions & 0 deletions benchmarks/Neoverse-N2/PackageAssetsBench.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
```

BenchmarkDotNet v0.16.0-preview.1, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
Memory: 15.57 GB Total, 11.36 GB Available
.NET SDK 11.0.100-rc.1.26425.128
[Host] : .NET 11.0.0 (11.0.0-rc.1.26425.128, 11.0.26.42628), Arm64 RyuJIT armv8.0-a
.NET 11.0 : .NET 11.0.0 (11.0.0-rc.1.26425.128, 11.0.26.42628), Arm64 RyuJIT armv8.0-a

Job=.NET 11.0 EnvironmentVariables=DOTNET_GCDynamicAdaptationMode=0 Runtime=.NET 11.0
Toolchain=net11.0 InvocationCount=Default IterationTime=350ms
MaxIterationCount=15 MinIterationCount=5 WarmupCount=6
Quotes=False Reader=String

```
| Method | Scope | Rows | Mean | Ratio | MB | MB/s | ns/row | Allocated | Alloc Ratio |
|------------- |------ |-------- |-------------:|------:|----:|-------:|-------:|-------------:|------------:|
| Sep______ | Row | 50000 | 4.607 ms | 1.00 | 29 | 6313.6 | 92.1 | 960 B | 1.00 |
| Sep_Async | Row | 50000 | 4.678 ms | 1.02 | 29 | 6217.4 | 93.6 | 960 B | 1.00 |
| Sep_Unescape | Row | 50000 | 5.212 ms | 1.13 | 29 | 5580.4 | 104.2 | 960 B | 1.00 |
| Sylvan___ | Row | 50000 | 18.989 ms | 4.12 | 29 | 1531.7 | 379.8 | 7470 B | 7.78 |
| ReadLine_ | Row | 50000 | 22.103 ms | 4.80 | 29 | 1315.9 | 442.1 | 90734824 B | 94,515.44 |
| CsvHelper | Row | 50000 | 55.077 ms | 11.96 | 29 | 528.1 | 1101.5 | 20424 B | 21.27 |
| | | | | | | | | | |
| Sep______ | Cols | 50000 | 6.641 ms | 1.00 | 29 | 4379.7 | 132.8 | 960 B | 1.00 |
| Sep_Unescape | Cols | 50000 | 7.410 ms | 1.12 | 29 | 3925.4 | 148.2 | 960 B | 1.00 |
| Sylvan___ | Cols | 50000 | 23.358 ms | 3.52 | 29 | 1245.2 | 467.2 | 7478 B | 7.79 |
| ReadLine_ | Cols | 50000 | 22.468 ms | 3.38 | 29 | 1294.6 | 449.4 | 90734824 B | 94,515.44 |
| CsvHelper | Cols | 50000 | 88.253 ms | 13.29 | 29 | 329.6 | 1765.1 | 456296 B | 475.31 |
| | | | | | | | | | |
| Sep______ | Asset | 50000 | 34.874 ms | 1.00 | 29 | 834.0 | 697.5 | 14132928 B | 1.00 |
| Sep_MT___ | Asset | 50000 | 18.353 ms | 0.53 | 29 | 1584.8 | 367.1 | 14213961 B | 1.01 |
| Sylvan___ | Asset | 50000 | 56.746 ms | 1.63 | 29 | 512.6 | 1134.9 | 14295531 B | 1.01 |
| ReadLine_ | Asset | 50000 | 118.897 ms | 3.41 | 29 | 244.6 | 2377.9 | 104584256 B | 7.40 |
| CsvHelper | Asset | 50000 | 99.318 ms | 2.85 | 29 | 292.9 | 1986.4 | 14305232 B | 1.01 |
| | | | | | | | | | |
| Sep______ | Asset | 1000000 | 774.577 ms | 1.00 | 581 | 751.2 | 774.6 | 273063736 B | 1.00 |
| Sep_MT___ | Asset | 1000000 | 389.384 ms | 0.50 | 581 | 1494.4 | 389.4 | 281115680 B | 1.03 |
| Sylvan___ | Asset | 1000000 | 1,194.789 ms | 1.54 | 581 | 487.0 | 1194.8 | 273225584 B | 1.00 |
| ReadLine_ | Asset | 1000000 | 2,565.987 ms | 3.31 | 581 | 226.8 | 2566.0 | 2087766120 B | 7.65 |
| CsvHelper | Asset | 1000000 | 2,110.665 ms | 2.72 | 581 | 275.7 | 2110.7 | 273236888 B | 1.00 |
28 changes: 28 additions & 0 deletions benchmarks/Neoverse-N2/PackageAssetsBenchQuotes-GcServer.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
```

BenchmarkDotNet v0.16.0-preview.1, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
Memory: 15.57 GB Total, 11.36 GB Available
.NET SDK 11.0.100-rc.1.26425.128
[Host] : .NET 11.0.0 (11.0.0-rc.1.26425.128, 11.0.26.42628), Arm64 RyuJIT armv8.0-a
.NET 11.0 : .NET 11.0.0 (11.0.0-rc.1.26425.128, 11.0.26.42628), Arm64 RyuJIT armv8.0-a

Job=.NET 11.0 EnvironmentVariables=DOTNET_GCDynamicAdaptationMode=0 Runtime=.NET 11.0
Server=True Toolchain=net11.0 InvocationCount=Default
IterationTime=350ms MaxIterationCount=15 MinIterationCount=5
WarmupCount=6 Quotes=True Reader=String

```
| Method | Scope | Rows | Mean | Ratio | MB | MB/s | ns/row | Allocated | Alloc Ratio |
|---------- |------ |-------- |------------:|------:|----:|-------:|-------:|-----------:|------------:|
| Sep______ | Asset | 50000 | 38.08 ms | 1.00 | 33 | 874.0 | 761.6 | 13.48 MB | 1.00 |
| Sep_MT___ | Asset | 50000 | 15.67 ms | 0.41 | 33 | 2123.4 | 313.5 | 13.54 MB | 1.00 |
| Sylvan___ | Asset | 50000 | 56.62 ms | 1.49 | 33 | 587.8 | 1132.4 | 13.63 MB | 1.01 |
| ReadLine_ | Asset | 50000 | 60.26 ms | 1.58 | 33 | 552.3 | 1205.2 | 119.44 MB | 8.86 |
| CsvHelper | Asset | 50000 | 107.77 ms | 2.83 | 33 | 308.8 | 2155.3 | 13.64 MB | 1.01 |
| | | | | | | | | | |
| Sep______ | Asset | 1000000 | 748.33 ms | 1.00 | 665 | 889.7 | 748.3 | 260.41 MB | 1.00 |
| Sep_MT___ | Asset | 1000000 | 249.49 ms | 0.33 | 665 | 2668.6 | 249.5 | 262.76 MB | 1.01 |
| Sylvan___ | Asset | 1000000 | 1,109.32 ms | 1.48 | 665 | 600.2 | 1109.3 | 260.57 MB | 1.00 |
| ReadLine_ | Asset | 1000000 | 1,281.14 ms | 1.71 | 665 | 519.7 | 1281.1 | 2385.07 MB | 9.16 |
| CsvHelper | Asset | 1000000 | 2,118.59 ms | 2.83 | 665 | 314.3 | 2118.6 | 260.58 MB | 1.00 |
41 changes: 41 additions & 0 deletions benchmarks/Neoverse-N2/PackageAssetsBenchQuotes.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
```

BenchmarkDotNet v0.16.0-preview.1, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
Memory: 15.57 GB Total, 11.36 GB Available
.NET SDK 11.0.100-rc.1.26425.128
[Host] : .NET 11.0.0 (11.0.0-rc.1.26425.128, 11.0.26.42628), Arm64 RyuJIT armv8.0-a
.NET 11.0 : .NET 11.0.0 (11.0.0-rc.1.26425.128, 11.0.26.42628), Arm64 RyuJIT armv8.0-a

Job=.NET 11.0 EnvironmentVariables=DOTNET_GCDynamicAdaptationMode=0 Runtime=.NET 11.0
Toolchain=net11.0 InvocationCount=Default IterationTime=350ms
MaxIterationCount=15 MinIterationCount=5 WarmupCount=6
Quotes=True Reader=String

```
| Method | Scope | Rows | Mean | Ratio | MB | MB/s | ns/row | Allocated | Alloc Ratio |
|------------- |------ |-------- |-------------:|------:|----:|-------:|-------:|-------------:|------------:|
| Sep______ | Row | 50000 | 9.424 ms | 1.00 | 33 | 3531.8 | 188.5 | 960 B | 1.00 |
| Sep_Async | Row | 50000 | 9.887 ms | 1.05 | 33 | 3366.1 | 197.7 | 960 B | 1.00 |
| Sep_Unescape | Row | 50000 | 9.438 ms | 1.00 | 33 | 3526.3 | 188.8 | 960 B | 1.00 |
| Sylvan___ | Row | 50000 | 21.513 ms | 2.28 | 33 | 1547.0 | 430.3 | 7477 B | 7.79 |
| ReadLine_ | Row | 50000 | 27.079 ms | 2.87 | 33 | 1229.1 | 541.6 | 111389416 B | 116,030.64 |
| CsvHelper | Row | 50000 | 63.050 ms | 6.69 | 33 | 527.9 | 1261.0 | 20424 B | 21.27 |
| | | | | | | | | | |
| Sep______ | Cols | 50000 | 11.707 ms | 1.00 | 33 | 2842.9 | 234.1 | 960 B | 1.00 |
| Sep_Unescape | Cols | 50000 | 12.657 ms | 1.08 | 33 | 2629.6 | 253.1 | 960 B | 1.00 |
| Sylvan___ | Cols | 50000 | 25.723 ms | 2.20 | 33 | 1293.9 | 514.5 | 7479 B | 7.79 |
| ReadLine_ | Cols | 50000 | 27.790 ms | 2.37 | 33 | 1197.6 | 555.8 | 111389416 B | 116,030.64 |
| CsvHelper | Cols | 50000 | 95.050 ms | 8.12 | 33 | 350.2 | 1901.0 | 456296 B | 475.31 |
| | | | | | | | | | |
| Sep______ | Asset | 50000 | 40.207 ms | 1.00 | 33 | 827.8 | 804.1 | 14132928 B | 1.00 |
| Sep_MT___ | Asset | 50000 | 21.933 ms | 0.55 | 33 | 1517.4 | 438.7 | 14213074 B | 1.01 |
| Sylvan___ | Asset | 50000 | 58.833 ms | 1.46 | 33 | 565.7 | 1176.7 | 14295507 B | 1.01 |
| ReadLine_ | Asset | 50000 | 131.310 ms | 3.27 | 33 | 253.5 | 2626.2 | 125239040 B | 8.86 |
| CsvHelper | Asset | 50000 | 106.367 ms | 2.65 | 33 | 312.9 | 2127.3 | 14305232 B | 1.01 |
| | | | | | | | | | |
| Sep______ | Asset | 1000000 | 880.177 ms | 1.00 | 665 | 756.4 | 880.2 | 273063736 B | 1.00 |
| Sep_MT___ | Asset | 1000000 | 393.705 ms | 0.45 | 665 | 1691.1 | 393.7 | 280592520 B | 1.03 |
| Sylvan___ | Asset | 1000000 | 1,247.294 ms | 1.42 | 665 | 533.8 | 1247.3 | 273225488 B | 1.00 |
| ReadLine_ | Asset | 1000000 | 3,295.165 ms | 3.74 | 665 | 202.1 | 3295.2 | 2500932824 B | 9.16 |
| CsvHelper | Asset | 1000000 | 2,245.528 ms | 2.55 | 665 | 296.5 | 2245.5 | 273235120 B | 1.00 |
23 changes: 23 additions & 0 deletions benchmarks/Neoverse-N2/PackageAssetsBenchSpacesQuotes.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
```

BenchmarkDotNet v0.16.0-preview.1, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
Memory: 15.57 GB Total, 11.36 GB Available
.NET SDK 11.0.100-rc.1.26425.128
[Host] : .NET 11.0.0 (11.0.0-rc.1.26425.128, 11.0.26.42628), Arm64 RyuJIT armv8.0-a
.NET 11.0 : .NET 11.0.0 (11.0.0-rc.1.26425.128, 11.0.26.42628), Arm64 RyuJIT armv8.0-a

Job=.NET 11.0 EnvironmentVariables=DOTNET_GCDynamicAdaptationMode=0 Runtime=.NET 11.0
Toolchain=net11.0 InvocationCount=Default IterationTime=350ms
MaxIterationCount=15 MinIterationCount=5 WarmupCount=6
Quotes=True Reader=String

```
| Method | Scope | Rows | Mean | Ratio | MB | MB/s | ns/row | Allocated | Alloc Ratio |
|--------------------------- |------ |------ |----------:|------:|---:|-------:|-------:|----------:|------------:|
| Sep_ | Cols | 50000 | 12.81 ms | 1.00 | 41 | 3252.2 | 256.3 | 960 B | 1.00 |
| Sep_Trim | Cols | 50000 | 17.77 ms | 1.39 | 41 | 2344.7 | 355.5 | 960 B | 1.00 |
| Sep_TrimUnescape | Cols | 50000 | 18.45 ms | 1.44 | 41 | 2258.2 | 369.1 | 960 B | 1.00 |
| Sep_TrimUnescapeTrim | Cols | 50000 | 20.35 ms | 1.59 | 41 | 2047.9 | 407.0 | 960 B | 1.00 |
| CsvHelper_TrimUnescape | Cols | 50000 | 117.74 ms | 9.19 | 41 | 354.0 | 2354.8 | 462096 B | 481.35 |
| CsvHelper_TrimUnescapeTrim | Cols | 50000 | 117.08 ms | 9.14 | 41 | 355.9 | 2341.7 | 456296 B | 475.31 |
1 change: 1 addition & 0 deletions benchmarks/Neoverse-N2/Versions.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Sep 0.18.0.0, Sylvan 1.4.4.0, CsvHelper 33.1.0.26