Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add net8.0 target and AVX-512/Vector512 parsers #23

Merged
merged 30 commits into from
Sep 5, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
30 commits
Select commit Hold shift + click to select a range
48d9875
Add net8.0 target using preview 7
nietras Aug 11, 2023
7fad214
Add SepParserVector512NrwCmpExtMsbTzcnt and refactor mask to use nuin…
nietras Aug 11, 2023
dbe9a0a
try to quick fix padding so 64 for AVX-512
nietras Aug 11, 2023
8ded033
try to force AVX-512 used on i7-9800X
nietras Aug 11, 2023
0ba6174
improve assert message
nietras Aug 11, 2023
3138f31
fix SepParserTest_Parse_Long_ColEndsAlmostFilled
nietras Aug 11, 2023
82433ff
fix 64 bit mask issues and casts in SepParseMask
nietras Aug 11, 2023
ced9878
bench on net7.0 and net8.0 only use AVX-512 on 64-bit and if hardware…
nietras Aug 11, 2023
23397c8
Add Avx512 specific parser
nietras Aug 11, 2023
a94b4d7
Fix SepParserAvx512PackCmpOrMoveMaskTzcnt permutation
nietras Aug 11, 2023
9edafd2
add Sequence test
nietras Aug 11, 2023
e045b73
0.2.3
nietras Aug 11, 2023
28cccde
add Vector512 parser to factories on 64-bit no matter what
nietras Aug 11, 2023
2c12ee7
update bench yml to net8.0
nietras Aug 11, 2023
19cae68
Change SepParseMaskTest to use nuint to ensure 64-bit masks covered
nietras Aug 12, 2023
7527907
nits
nietras Aug 12, 2023
39b2f0d
nits in SepParseSeparatorsMaskBench
nietras Aug 12, 2023
bcf9e65
update README with vectorization paths
nietras Aug 12, 2023
81c70dd
save bench to custom folder with name
nietras Aug 20, 2023
c6860d3
add benchmarks to git
nietras Aug 20, 2023
e2bed48
add initial xeon silver 4316 with AVX-512 benchmarks and use Processo…
nietras Aug 20, 2023
2586c8c
rename 4316 bench
nietras Aug 20, 2023
36e7a8d
add Versions.txt to benchmarks
nietras Aug 25, 2023
9e413ff
reactivate all benchs
nietras Aug 26, 2023
c0b7930
add Neoverse.N1 benchmarks
nietras Aug 26, 2023
b6fc05e
work on auto benchmark README updates
nietras Aug 26, 2023
e9c8f20
update benchmarks with test run
nietras Aug 28, 2023
d03a881
cleanup
nietras Aug 28, 2023
0f47cb9
update Runtime and Platforms
nietras Sep 3, 2023
a44f872
nits
nietras Sep 3, 2023
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
2 changes: 1 addition & 1 deletion .github/workflows/bench.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,4 +24,4 @@ jobs:
- name: Build
run: dotnet build -c ${{ matrix.configuration }} --no-restore
- name: Bench
run: dotnet run -c ${{ matrix.configuration }} -f net7.0 --no-restore --project src/Sep.Benchmarks/Sep.Benchmarks.csproj -- -m -d --iterationTime 150
run: dotnet run -c ${{ matrix.configuration }} -f net8.0 --no-restore --project src/Sep.Benchmarks/Sep.Benchmarks.csproj -- -m -d --iterationTime 300
2 changes: 1 addition & 1 deletion .github/workflows/comparison-bench.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,4 +24,4 @@ jobs:
- name: Build
run: dotnet build -c ${{ matrix.configuration }} --no-restore
- name: Bench
run: dotnet run -c ${{ matrix.configuration }} -f net7.0 --no-restore --project src/Sep.ComparisonBenchmarks/Sep.ComparisonBenchmarks.csproj -- -m --warmupCount 3 --iterationTime 150
run: dotnet run -c ${{ matrix.configuration }} -f net8.0 --no-restore --project src/Sep.ComparisonBenchmarks/Sep.ComparisonBenchmarks.csproj -- -m --iterationTime 300
405 changes: 289 additions & 116 deletions README.md

Large diffs are not rendered by default.

4 changes: 1 addition & 3 deletions bench.ps1
Original file line number Diff line number Diff line change
@@ -1,3 +1 @@
dotnet run -c Release -f net7.0 --project src\Sep.Benchmarks\Sep.Benchmarks.csproj -- `
-m --warmupCount 5 --minIterationCount 3 --maxIterationCount 9 --runtimes net70 `
--iterationTime 150 --filter *
dotnet run -c Release -f net8.0 --project src\Sep.Benchmarks\Sep.Benchmarks.csproj -- -m --warmupCount 5 --minIterationCount 3 --maxIterationCount 9 --runtimes net70 net80 --iterationTime 300
41 changes: 41 additions & 0 deletions benchmarks/AMD.Ryzen.9.5950X/FloatsReaderBench.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
``` ini

BenchmarkDotNet=v0.13.5, OS=Windows 10 (10.0.19044.3086/21H2/November2021Update)
AMD Ryzen 9 5950X, 1 CPU, 32 logical and 16 physical cores
.NET SDK=8.0.100-preview.7.23376.3
[Host] : .NET 8.0.0 (8.0.23.37506), X64 RyuJIT AVX2
Job-ZCBCZS : .NET 7.0.10 (7.0.1023.36312), X64 RyuJIT AVX2
Job-KHRFRP : .NET 8.0.0 (8.0.23.37506), X64 RyuJIT AVX2

InvocationCount=Default IterationTime=300.0000 ms MinIterationCount=5
WarmupCount=6 Reader=String

```
| Method | Runtime | Scope | Rows | Mean | Ratio | MB | MB/s | ns/row | Allocated | Alloc Ratio |
|---------- |--------- |------- |------ |-----------:|------:|---:|--------:|-------:|------------:|------------:|
| Sep______ | .NET 7.0 | Row | 25000 | 2.689 ms | 1.00 | 27 | 10137.6 | 107.6 | 1.56 KB | 1.00 |
| Sylvan___ | .NET 7.0 | Row | 25000 | 3.017 ms | 1.12 | 27 | 9036.1 | 120.7 | 10.55 KB | 6.78 |
| ReadLine_ | .NET 7.0 | Row | 25000 | 13.916 ms | 5.14 | 27 | 1959.1 | 556.6 | 89986.83 KB | 57,808.36 |
| CsvHelper | .NET 7.0 | Row | 25000 | 49.716 ms | 18.60 | 27 | 548.4 | 1988.7 | 20.74 KB | 13.32 |
| Sep______ | .NET 8.0 | Row | 25000 | 2.610 ms | 0.97 | 27 | 10445.9 | 104.4 | 1.56 KB | 1.00 |
| Sylvan___ | .NET 8.0 | Row | 25000 | 2.968 ms | 1.10 | 27 | 9185.7 | 118.7 | 10.55 KB | 6.78 |
| ReadLine_ | .NET 8.0 | Row | 25000 | 13.343 ms | 4.98 | 27 | 2043.3 | 533.7 | 89986.83 KB | 57,808.35 |
| CsvHelper | .NET 8.0 | Row | 25000 | 34.199 ms | 12.72 | 27 | 797.2 | 1368.0 | 20.61 KB | 13.24 |
| | | | | | | | | | | |
| Sep______ | .NET 7.0 | Cols | 25000 | 3.097 ms | 1.00 | 27 | 8804.5 | 123.9 | 1.56 KB | 1.00 |
| Sylvan___ | .NET 7.0 | Cols | 25000 | 4.980 ms | 1.61 | 27 | 5474.5 | 199.2 | 10.56 KB | 6.77 |
| ReadLine_ | .NET 7.0 | Cols | 25000 | 13.959 ms | 4.51 | 27 | 1953.2 | 558.3 | 89986.84 KB | 57,735.92 |
| CsvHelper | .NET 7.0 | Cols | 25000 | 53.680 ms | 17.10 | 27 | 507.9 | 2147.2 | 28451.27 KB | 18,254.45 |
| Sep______ | .NET 8.0 | Cols | 25000 | 3.059 ms | 0.99 | 27 | 8912.6 | 122.4 | 1.56 KB | 1.00 |
| Sylvan___ | .NET 8.0 | Cols | 25000 | 4.840 ms | 1.56 | 27 | 5632.9 | 193.6 | 10.55 KB | 6.77 |
| ReadLine_ | .NET 8.0 | Cols | 25000 | 13.615 ms | 4.40 | 27 | 2002.4 | 544.6 | 89986.83 KB | 57,735.91 |
| CsvHelper | .NET 8.0 | Cols | 25000 | 37.445 ms | 12.09 | 27 | 728.1 | 1497.8 | 28451.15 KB | 18,254.37 |
| | | | | | | | | | | |
| Sep______ | .NET 7.0 | Floats | 25000 | 33.069 ms | 1.00 | 27 | 824.4 | 1322.8 | 8.89 KB | 1.00 |
| Sylvan___ | .NET 7.0 | Floats | 25000 | 71.582 ms | 2.16 | 27 | 380.9 | 2863.3 | 18.86 KB | 2.12 |
| ReadLine_ | .NET 7.0 | Floats | 25000 | 82.038 ms | 2.48 | 27 | 332.3 | 3281.5 | 89993.42 KB | 10,122.28 |
| CsvHelper | .NET 7.0 | Floats | 25000 | 127.852 ms | 3.86 | 27 | 213.2 | 5114.1 | 22039.48 KB | 2,478.96 |
| Sep______ | .NET 8.0 | Floats | 25000 | 22.521 ms | 0.68 | 27 | 1210.6 | 900.8 | 9.11 KB | 1.02 |
| Sylvan___ | .NET 8.0 | Floats | 25000 | 65.072 ms | 1.97 | 27 | 419.0 | 2602.9 | 18.84 KB | 2.12 |
| ReadLine_ | .NET 8.0 | Floats | 25000 | 72.803 ms | 2.20 | 27 | 374.5 | 2912.1 | 89990.3 KB | 10,121.93 |
| CsvHelper | .NET 8.0 | Floats | 25000 | 112.180 ms | 3.39 | 27 | 243.0 | 4487.2 | 22035.55 KB | 2,478.51 |
42 changes: 42 additions & 0 deletions benchmarks/AMD.Ryzen.9.5950X/PackageAssetsBench.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
``` ini

BenchmarkDotNet=v0.13.5, OS=Windows 10 (10.0.19044.3086/21H2/November2021Update)
AMD Ryzen 9 5950X, 1 CPU, 32 logical and 16 physical cores
.NET SDK=8.0.100-preview.7.23376.3
[Host] : .NET 8.0.0 (8.0.23.37506), X64 RyuJIT AVX2
Job-ZCBCZS : .NET 7.0.10 (7.0.1023.36312), X64 RyuJIT AVX2
Job-KHRFRP : .NET 8.0.0 (8.0.23.37506), X64 RyuJIT AVX2

InvocationCount=Default IterationTime=300.0000 ms MaxIterationCount=Default
MinIterationCount=5 WarmupCount=6 Quotes=False
Reader=String

```
| Method | Runtime | Scope | Rows | Mean | Ratio | MB | MB/s | ns/row | Allocated | Alloc Ratio |
|---------- |--------- |------ |------ |-----------:|------:|---:|--------:|-------:|-------------:|------------:|
| Sep______ | .NET 7.0 | Row | 50000 | 2.565 ms | 1.00 | 29 | 11375.3 | 51.3 | 1.13 KB | 1.00 |
| Sylvan___ | .NET 7.0 | Row | 50000 | 3.301 ms | 1.29 | 29 | 8840.1 | 66.0 | 7.17 KB | 6.34 |
| ReadLine_ | .NET 7.0 | Row | 50000 | 13.676 ms | 5.26 | 29 | 2133.7 | 273.5 | 88608.25 KB | 78,287.18 |
| CsvHelper | .NET 7.0 | Row | 50000 | 63.120 ms | 24.57 | 29 | 462.3 | 1262.4 | 20.65 KB | 18.25 |
| Sep______ | .NET 8.0 | Row | 50000 | 2.458 ms | 0.96 | 29 | 11872.7 | 49.2 | 1.13 KB | 1.00 |
| Sylvan___ | .NET 8.0 | Row | 50000 | 3.053 ms | 1.19 | 29 | 9558.2 | 61.1 | 7.17 KB | 6.33 |
| ReadLine_ | .NET 8.0 | Row | 50000 | 12.642 ms | 4.96 | 29 | 2308.3 | 252.8 | 88608.24 KB | 78,287.18 |
| CsvHelper | .NET 8.0 | Row | 50000 | 44.515 ms | 17.37 | 29 | 655.5 | 890.3 | 20.59 KB | 18.19 |
| | | | | | | | | | | |
| Sep______ | .NET 7.0 | Cols | 50000 | 3.328 ms | 1.00 | 29 | 8769.4 | 66.6 | 1.13 KB | 1.00 |
| Sylvan___ | .NET 7.0 | Cols | 50000 | 5.773 ms | 1.74 | 29 | 5054.4 | 115.5 | 7.18 KB | 6.33 |
| ReadLine_ | .NET 7.0 | Cols | 50000 | 13.962 ms | 4.11 | 29 | 2090.0 | 279.2 | 88608.25 KB | 78,152.32 |
| CsvHelper | .NET 7.0 | Cols | 50000 | 79.138 ms | 23.81 | 29 | 368.7 | 1582.8 | 446.31 KB | 393.65 |
| Sep______ | .NET 8.0 | Cols | 50000 | 3.188 ms | 0.96 | 29 | 9153.5 | 63.8 | 1.13 KB | 1.00 |
| Sylvan___ | .NET 8.0 | Cols | 50000 | 5.598 ms | 1.68 | 29 | 5213.0 | 112.0 | 7.17 KB | 6.33 |
| ReadLine_ | .NET 8.0 | Cols | 50000 | 12.944 ms | 3.86 | 29 | 2254.4 | 258.9 | 88608.24 KB | 78,152.32 |
| CsvHelper | .NET 8.0 | Cols | 50000 | 71.520 ms | 21.27 | 29 | 408.0 | 1430.4 | 446.29 KB | 393.62 |
| | | | | | | | | | | |
| Sep______ | .NET 7.0 | Asset | 50000 | 30.729 ms | 1.00 | 29 | 949.6 | 614.6 | 13799.67 KB | 1.00 |
| Sylvan___ | .NET 7.0 | Asset | 50000 | 42.129 ms | 1.37 | 29 | 692.7 | 842.6 | 14025.03 KB | 1.02 |
| ReadLine_ | .NET 7.0 | Asset | 50000 | 115.299 ms | 3.75 | 29 | 253.1 | 2306.0 | 102133.39 KB | 7.40 |
| CsvHelper | .NET 7.0 | Asset | 50000 | 104.802 ms | 3.41 | 29 | 278.4 | 2096.0 | 13972.08 KB | 1.01 |
| Sep______ | .NET 8.0 | Asset | 50000 | 30.395 ms | 0.99 | 29 | 960.1 | 607.9 | 13799.62 KB | 1.00 |
| Sylvan___ | .NET 8.0 | Asset | 50000 | 38.198 ms | 1.24 | 29 | 764.0 | 764.0 | 14026.64 KB | 1.02 |
| ReadLine_ | .NET 8.0 | Asset | 50000 | 109.821 ms | 3.53 | 29 | 265.7 | 2196.4 | 102133.38 KB | 7.40 |
| CsvHelper | .NET 8.0 | Asset | 50000 | 85.305 ms | 2.78 | 29 | 342.1 | 1706.1 | 13972.36 KB | 1.01 |
42 changes: 42 additions & 0 deletions benchmarks/AMD.Ryzen.9.5950X/PackageAssetsBenchQuotes.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
``` ini

BenchmarkDotNet=v0.13.5, OS=Windows 10 (10.0.19044.3086/21H2/November2021Update)
AMD Ryzen 9 5950X, 1 CPU, 32 logical and 16 physical cores
.NET SDK=8.0.100-preview.7.23376.3
[Host] : .NET 8.0.0 (8.0.23.37506), X64 RyuJIT AVX2
Job-ZCBCZS : .NET 7.0.10 (7.0.1023.36312), X64 RyuJIT AVX2
Job-KHRFRP : .NET 8.0.0 (8.0.23.37506), X64 RyuJIT AVX2

InvocationCount=Default IterationTime=300.0000 ms MaxIterationCount=Default
MinIterationCount=5 WarmupCount=6 Quotes=True
Reader=String

```
| Method | Runtime | Scope | Rows | Mean | Ratio | MB | MB/s | ns/row | Allocated | Alloc Ratio |
|---------- |--------- |------ |------ |-----------:|------:|---:|-------:|-------:|-------------:|------------:|
| Sep______ | .NET 7.0 | Row | 50000 | 7.414 ms | 1.00 | 33 | 4501.8 | 148.3 | 1.15 KB | 1.00 |
| Sylvan___ | .NET 7.0 | Row | 50000 | 21.528 ms | 2.91 | 33 | 1550.4 | 430.6 | 7.33 KB | 6.40 |
| ReadLine_ | .NET 7.0 | Row | 50000 | 15.944 ms | 2.13 | 33 | 2093.4 | 318.9 | 108778.76 KB | 94,961.17 |
| CsvHelper | .NET 7.0 | Row | 50000 | 68.558 ms | 9.26 | 33 | 486.8 | 1371.2 | 20.65 KB | 18.03 |
| Sep______ | .NET 8.0 | Row | 50000 | 6.773 ms | 0.91 | 33 | 4928.3 | 135.5 | 1.14 KB | 1.00 |
| Sylvan___ | .NET 8.0 | Row | 50000 | 18.409 ms | 2.47 | 33 | 1813.1 | 368.2 | 7.2 KB | 6.28 |
| ReadLine_ | .NET 8.0 | Row | 50000 | 14.955 ms | 2.03 | 33 | 2231.9 | 299.1 | 108778.75 KB | 94,961.16 |
| CsvHelper | .NET 8.0 | Row | 50000 | 53.158 ms | 7.17 | 33 | 627.9 | 1063.2 | 20.6 KB | 17.98 |
| | | | | | | | | | | |
| Sep______ | .NET 7.0 | Cols | 50000 | 7.723 ms | 1.00 | 33 | 4321.6 | 154.5 | 1.15 KB | 1.00 |
| Sylvan___ | .NET 7.0 | Cols | 50000 | 23.941 ms | 3.10 | 33 | 1394.2 | 478.8 | 7.33 KB | 6.40 |
| ReadLine_ | .NET 7.0 | Cols | 50000 | 16.261 ms | 2.11 | 33 | 2052.6 | 325.2 | 108778.75 KB | 94,880.28 |
| CsvHelper | .NET 7.0 | Cols | 50000 | 90.538 ms | 11.65 | 33 | 368.7 | 1810.8 | 446.31 KB | 389.29 |
| Sep______ | .NET 8.0 | Cols | 50000 | 7.323 ms | 0.95 | 33 | 4557.6 | 146.5 | 1.14 KB | 1.00 |
| Sylvan___ | .NET 8.0 | Cols | 50000 | 21.064 ms | 2.73 | 33 | 1584.6 | 421.3 | 7.31 KB | 6.38 |
| ReadLine_ | .NET 8.0 | Cols | 50000 | 15.523 ms | 2.02 | 33 | 2150.2 | 310.5 | 108778.75 KB | 94,880.27 |
| CsvHelper | .NET 8.0 | Cols | 50000 | 84.033 ms | 10.81 | 33 | 397.2 | 1680.7 | 446.35 KB | 389.32 |
| | | | | | | | | | | |
| Sep______ | .NET 7.0 | Asset | 50000 | 38.130 ms | 1.00 | 33 | 875.4 | 762.6 | 13808.03 KB | 1.00 |
| Sylvan___ | .NET 7.0 | Asset | 50000 | 61.626 ms | 1.62 | 33 | 541.6 | 1232.5 | 14025.04 KB | 1.02 |
| ReadLine_ | .NET 7.0 | Asset | 50000 | 125.779 ms | 3.33 | 33 | 265.4 | 2515.6 | 122304.12 KB | 8.86 |
| CsvHelper | .NET 7.0 | Asset | 50000 | 114.214 ms | 3.00 | 33 | 292.2 | 2284.3 | 13971.43 KB | 1.01 |
| Sep______ | .NET 8.0 | Asset | 50000 | 34.585 ms | 0.91 | 33 | 965.1 | 691.7 | 13808.01 KB | 1.00 |
| Sylvan___ | .NET 8.0 | Asset | 50000 | 53.850 ms | 1.41 | 33 | 619.8 | 1077.0 | 14025.15 KB | 1.02 |
| ReadLine_ | .NET 8.0 | Asset | 50000 | 115.295 ms | 3.02 | 33 | 289.5 | 2305.9 | 122304.01 KB | 8.86 |
| CsvHelper | .NET 8.0 | Asset | 50000 | 99.115 ms | 2.60 | 33 | 336.8 | 1982.3 | 13970.79 KB | 1.01 |
1 change: 1 addition & 0 deletions benchmarks/AMD.Ryzen.9.5950X/Versions.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Sep 0.2.3, Sylvan 1.3.2.0, CsvHelper 30.0.1.0
41 changes: 41 additions & 0 deletions benchmarks/Intel.Xeon.Silver.4316.2.30GHz/FloatsReaderBench.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
``` ini

BenchmarkDotNet=v0.13.5, OS=Windows 10 (10.0.17763.3287/1809/October2018Update/Redstone5)
Intel Xeon Silver 4316 CPU 2.30GHz, 1 CPU, 40 logical and 20 physical cores
.NET SDK=8.0.100-preview.7.23376.3
[Host] : .NET 8.0.0 (8.0.23.37506), X64 RyuJIT AVX2
Job-UHOMSO : .NET 7.0.10 (7.0.1023.36312), X64 RyuJIT AVX2
Job-SRTOSO : .NET 8.0.0 (8.0.23.37506), X64 RyuJIT AVX2

InvocationCount=Default IterationTime=300.0000 ms MinIterationCount=5
WarmupCount=6 Reader=String

```
| Method | Runtime | Scope | Rows | Mean | Ratio | MB | MB/s | ns/row | Allocated | Alloc Ratio |
|---------- |--------- |------- |------ |-----------:|------:|---:|-------:|--------:|------------:|------------:|
| Sep______ | .NET 7.0 | Row | 25000 | 5.417 ms | 1.00 | 27 | 5033.3 | 216.7 | 1.57 KB | 1.00 |
| Sylvan___ | .NET 7.0 | Row | 25000 | 6.328 ms | 1.17 | 27 | 4308.3 | 253.1 | 10.56 KB | 6.74 |
| ReadLine_ | .NET 7.0 | Row | 25000 | 28.805 ms | 5.35 | 27 | 946.5 | 1152.2 | 89986.9 KB | 57,412.20 |
| CsvHelper | .NET 7.0 | Row | 25000 | 76.930 ms | 14.20 | 27 | 354.4 | 3077.2 | 20.74 KB | 13.23 |
| Sep______ | .NET 8.0 | Row | 25000 | 5.841 ms | 1.08 | 27 | 4667.7 | 233.6 | 1.72 KB | 1.10 |
| Sylvan___ | .NET 8.0 | Row | 25000 | 6.526 ms | 1.20 | 27 | 4177.8 | 261.0 | 10.56 KB | 6.74 |
| ReadLine_ | .NET 8.0 | Row | 25000 | 28.041 ms | 5.18 | 27 | 972.3 | 1121.7 | 89986.9 KB | 57,412.20 |
| CsvHelper | .NET 8.0 | Row | 25000 | 77.364 ms | 14.27 | 27 | 352.4 | 3094.5 | 20.77 KB | 13.25 |
| | | | | | | | | | | |
| Sep______ | .NET 7.0 | Cols | 25000 | 6.921 ms | 1.00 | 27 | 3939.4 | 276.8 | 1.57 KB | 1.00 |
| Sylvan___ | .NET 7.0 | Cols | 25000 | 10.300 ms | 1.49 | 27 | 2647.0 | 412.0 | 10.58 KB | 6.72 |
| ReadLine_ | .NET 7.0 | Cols | 25000 | 29.077 ms | 4.19 | 27 | 937.6 | 1163.1 | 89986.9 KB | 57,198.38 |
| CsvHelper | .NET 7.0 | Cols | 25000 | 95.212 ms | 13.76 | 27 | 286.3 | 3808.5 | 28451.27 KB | 18,084.48 |
| Sep______ | .NET 8.0 | Cols | 25000 | 6.685 ms | 0.97 | 27 | 4078.0 | 267.4 | 1.73 KB | 1.10 |
| Sylvan___ | .NET 8.0 | Cols | 25000 | 9.724 ms | 1.41 | 27 | 2803.8 | 388.9 | 10.57 KB | 6.72 |
| ReadLine_ | .NET 8.0 | Cols | 25000 | 27.190 ms | 3.94 | 27 | 1002.7 | 1087.6 | 89986.89 KB | 57,198.37 |
| CsvHelper | .NET 8.0 | Cols | 25000 | 81.925 ms | 11.88 | 27 | 332.8 | 3277.0 | 28451.84 KB | 18,084.85 |
| | | | | | | | | | | |
| Sep______ | .NET 7.0 | Floats | 25000 | 61.789 ms | 1.00 | 27 | 441.2 | 2471.6 | 9.1 KB | 1.00 |
| Sylvan___ | .NET 7.0 | Floats | 25000 | 146.737 ms | 2.37 | 27 | 185.8 | 5869.5 | 19.62 KB | 2.16 |
| ReadLine_ | .NET 7.0 | Floats | 25000 | 168.368 ms | 2.73 | 27 | 161.9 | 6734.7 | 89993.63 KB | 9,894.08 |
| CsvHelper | .NET 7.0 | Floats | 25000 | 264.441 ms | 4.28 | 27 | 103.1 | 10577.6 | 22039.48 KB | 2,423.07 |
| Sep______ | .NET 8.0 | Floats | 25000 | 44.122 ms | 0.71 | 27 | 617.9 | 1764.9 | 9.08 KB | 1.00 |
| Sylvan___ | .NET 8.0 | Floats | 25000 | 135.504 ms | 2.19 | 27 | 201.2 | 5420.2 | 19.07 KB | 2.10 |
| ReadLine_ | .NET 8.0 | Floats | 25000 | 151.400 ms | 2.45 | 27 | 180.1 | 6056.0 | 89990.48 KB | 9,893.74 |
| CsvHelper | .NET 8.0 | Floats | 25000 | 231.426 ms | 3.75 | 27 | 117.8 | 9257.1 | 22036.58 KB | 2,422.75 |
42 changes: 42 additions & 0 deletions benchmarks/Intel.Xeon.Silver.4316.2.30GHz/PackageAssetsBench.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
``` ini

BenchmarkDotNet=v0.13.5, OS=Windows 10 (10.0.17763.3287/1809/October2018Update/Redstone5)
Intel Xeon Silver 4316 CPU 2.30GHz, 1 CPU, 40 logical and 20 physical cores
.NET SDK=8.0.100-preview.7.23376.3
[Host] : .NET 8.0.0 (8.0.23.37506), X64 RyuJIT AVX2
Job-UHOMSO : .NET 7.0.10 (7.0.1023.36312), X64 RyuJIT AVX2
Job-SRTOSO : .NET 8.0.0 (8.0.23.37506), X64 RyuJIT AVX2

InvocationCount=Default IterationTime=300.0000 ms MaxIterationCount=Default
MinIterationCount=5 WarmupCount=6 Quotes=False
Reader=String

```
| Method | Runtime | Scope | Rows | Mean | Ratio | MB | MB/s | ns/row | Allocated | Alloc Ratio |
|---------- |--------- |------ |------ |-----------:|------:|---:|-------:|-------:|-------------:|------------:|
| Sep______ | .NET 7.0 | Row | 50000 | 5.948 ms | 1.00 | 29 | 4905.8 | 119.0 | 1.14 KB | 1.00 |
| Sylvan___ | .NET 7.0 | Row | 50000 | 6.733 ms | 1.13 | 29 | 4334.0 | 134.7 | 7.18 KB | 6.29 |
| ReadLine_ | .NET 7.0 | Row | 50000 | 27.988 ms | 4.70 | 29 | 1042.6 | 559.8 | 88608.29 KB | 77,617.53 |
| CsvHelper | .NET 7.0 | Row | 50000 | 114.902 ms | 19.31 | 29 | 254.0 | 2298.0 | 20.65 KB | 18.09 |
| Sep______ | .NET 8.0 | Row | 50000 | 5.440 ms | 0.91 | 29 | 5363.8 | 108.8 | 1.29 KB | 1.13 |
| Sylvan___ | .NET 8.0 | Row | 50000 | 6.383 ms | 1.07 | 29 | 4571.5 | 127.7 | 7.18 KB | 6.29 |
| ReadLine_ | .NET 8.0 | Row | 50000 | 26.933 ms | 4.53 | 29 | 1083.5 | 538.7 | 88608.26 KB | 77,617.50 |
| CsvHelper | .NET 8.0 | Row | 50000 | 90.332 ms | 15.18 | 29 | 323.0 | 1806.6 | 20.69 KB | 18.12 |
| | | | | | | | | | | |
| Sep______ | .NET 7.0 | Cols | 50000 | 7.401 ms | 1.00 | 29 | 3942.7 | 148.0 | 1.15 KB | 1.00 |
| Sylvan___ | .NET 7.0 | Cols | 50000 | 11.545 ms | 1.56 | 29 | 2527.5 | 230.9 | 7.19 KB | 6.28 |
| ReadLine_ | .NET 7.0 | Cols | 50000 | 28.892 ms | 3.90 | 29 | 1010.0 | 577.8 | 88608.29 KB | 77,352.84 |
| CsvHelper | .NET 7.0 | Cols | 50000 | 157.705 ms | 21.31 | 29 | 185.0 | 3154.1 | 446.5 KB | 389.78 |
| Sep______ | .NET 8.0 | Cols | 50000 | 6.683 ms | 0.90 | 29 | 4366.8 | 133.7 | 1.3 KB | 1.13 |
| Sylvan___ | .NET 8.0 | Cols | 50000 | 10.417 ms | 1.41 | 29 | 2801.2 | 208.3 | 7.19 KB | 6.28 |
| ReadLine_ | .NET 8.0 | Cols | 50000 | 27.292 ms | 3.69 | 29 | 1069.2 | 545.8 | 88608.26 KB | 77,352.82 |
| CsvHelper | .NET 8.0 | Cols | 50000 | 141.559 ms | 19.11 | 29 | 206.1 | 2831.2 | 446.45 KB | 389.74 |
| | | | | | | | | | | |
| Sep______ | .NET 7.0 | Asset | 50000 | 58.708 ms | 1.00 | 29 | 497.1 | 1174.2 | 13799.65 KB | 1.00 |
| Sylvan___ | .NET 7.0 | Asset | 50000 | 76.436 ms | 1.31 | 29 | 381.8 | 1528.7 | 14025.71 KB | 1.02 |
| ReadLine_ | .NET 7.0 | Asset | 50000 | 174.574 ms | 3.00 | 29 | 167.2 | 3491.5 | 102133.35 KB | 7.40 |
| CsvHelper | .NET 7.0 | Asset | 50000 | 172.747 ms | 2.95 | 29 | 168.9 | 3454.9 | 13970.85 KB | 1.01 |
| Sep______ | .NET 8.0 | Asset | 50000 | 55.672 ms | 0.95 | 29 | 524.2 | 1113.4 | 13800.53 KB | 1.00 |
| Sylvan___ | .NET 8.0 | Asset | 50000 | 71.428 ms | 1.22 | 29 | 408.5 | 1428.6 | 14026.38 KB | 1.02 |
| ReadLine_ | .NET 8.0 | Asset | 50000 | 162.203 ms | 2.76 | 29 | 179.9 | 3244.1 | 102133.69 KB | 7.40 |
| CsvHelper | .NET 8.0 | Asset | 50000 | 161.805 ms | 2.76 | 29 | 180.3 | 3236.1 | 13970.8 KB | 1.01 |
Loading