Skip to content

Update dependencies and add comparison benchmarks#30

Merged
GabrielMarquezMatte merged 7 commits into
masterfrom
develop
Jun 25, 2026
Merged

Update dependencies and add comparison benchmarks#30
GabrielMarquezMatte merged 7 commits into
masterfrom
develop

Conversation

@GabrielMarquezMatte

Copy link
Copy Markdown
Owner

This pull request introduces a comprehensive cross-library performance comparison for fixed-width file reading and writing, benchmarking the project's implementation against popular alternatives. It also updates several dependencies and CI configurations for improved reliability and up-to-date tooling.

Summary of important changes:

Benchmarking and Documentation

  • Added new benchmark projects and test cases comparing FixedWidthParser with FileHelpers, FlatFiles, and RecordParser for both reading and writing fixed-width records. This includes two new benchmark classes: ComparisonBenchmarks and ComparisonWriterBenchmarks, which systematically measure speed and memory allocations across libraries. [1] [2] [3]
  • Updated the README.md to include a new section with detailed benchmark results and analysis, highlighting the performance and allocation advantages of FixedWidthParser over alternative libraries.

Dependency Updates

  • Upgraded analyzer and development dependencies in Directory.Build.props, specifically bumping Meziantou.Analyzer to 3.0.114 and Microsoft.VisualStudio.Threading.Analyzers to 18.7.23. [1] [2]
  • Added FileHelpers, FlatFiles, and RecordParser as dependencies to the benchmark project (tests/Benchmarks/Benchmarks.csproj) to enable cross-library comparisons.

CI/CD Workflow Maintenance

  • Updated GitHub Actions workflow files to use actions/cache@v6 (from v5) for NuGet package caching, ensuring more reliable and up-to-date caching in all workflows (ci.yml, release.yml, benchmark-pr.yml, benchmark-pages.yml). [1] [2] [3] [4]

dependabot Bot and others added 7 commits June 25, 2026 14:54
Bumps [actions/cache](https://github.com/actions/cache) from 5 to 6.
- [Release notes](https://github.com/actions/cache/releases)
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)
- [Commits](actions/cache@v5...v6)

---
updated-dependencies:
- dependency-name: actions/cache
  dependency-version: '6'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Bumps Meziantou.Analyzer from 3.0.105 to 3.0.114
Bumps Microsoft.VisualStudio.Threading.Analyzers from 17.14.15 to 18.7.23

---
updated-dependencies:
- dependency-name: Meziantou.Analyzer
  dependency-version: 3.0.114
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: analyzers
- dependency-name: Microsoft.VisualStudio.Threading.Analyzers
  dependency-version: 18.7.23
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: analyzers
...

Signed-off-by: dependabot[bot] <support@github.com>
…lop/analyzers-41a5d25db7

Bump the analyzers group with 2 updates
…ions/develop/actions/cache-6

build(deps): bump actions/cache from 5 to 6
@codecov-commenter

Copy link
Copy Markdown

⚠️ Please install the 'codecov app svg image' to ensure uploads and comments are reliably processed by Codecov.

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 97.43%. Comparing base (41f5390) to head (b22a6c7).
⚠️ Report is 1 commits behind head on master.
❗ Your organization needs to install the Codecov GitHub app to enable full functionality.

Additional details and impacted files
@@           Coverage Diff           @@
##           master      #30   +/-   ##
=======================================
  Coverage   97.43%   97.43%           
=======================================
  Files          43       43           
  Lines        1323     1323           
  Branches      199      199           
=======================================
  Hits         1289     1289           
  Misses          9        9           
  Partials       25       25           

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@GabrielMarquezMatte GabrielMarquezMatte merged commit ab010d6 into master Jun 25, 2026
11 checks passed
@github-actions

Copy link
Copy Markdown

Benchmark Results

Measured on ubuntu-latest (GitHub Actions). Runner noise may affect absolute numbers; use these for relative comparisons within a PR.

Benchmarks.Perf.AsyncReaderBenchmarks


BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.4 LTS (Noble Numbat)
Intel Xeon Platinum 8370C CPU 2.80GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.301
  [Host]     : .NET 10.0.9 (10.0.9, 10.0.926.27113), X64 RyuJIT x86-64-v4
  Job-MEHJPP : .NET 10.0.9 (10.0.9, 10.0.926.27113), X64 RyuJIT x86-64-v4

IterationCount=5  WarmupCount=1  

Method Count Mean Error StdDev Ratio Gen0 Allocated Alloc Ratio
GeneratedReader_ReadAsync 100 5.239 μs 0.0129 μs 0.0020 μs 0.64 0.1678 4216 B 0.23
SpanReader_ReadAsync 100 7.840 μs 0.0716 μs 0.0111 μs 0.96 0.1678 4232 B 0.23
Naive_ReadLineAsync 100 8.142 μs 0.3211 μs 0.0834 μs 1.00 0.7324 18424 B 1.00
GeneratedReader_ReadAsync_Pooled 100 10.036 μs 0.1482 μs 0.0229 μs 1.23 - 296 B 0.02
SpanReader_ReadAsync_Pooled 100 12.636 μs 0.0491 μs 0.0076 μs 1.55 - 312 B 0.02
GeneratedReader_ReadAsync 1000 50.287 μs 0.4922 μs 0.1278 μs 0.61 1.5259 39496 B 0.215
SpanReader_ReadAsync 1000 76.346 μs 1.5760 μs 0.2439 μs 0.92 1.4648 39512 B 0.216
Naive_ReadLineAsync 1000 82.780 μs 4.0382 μs 0.6249 μs 1.00 7.2021 183304 B 1.000
GeneratedReader_ReadAsync_Pooled 1000 101.053 μs 0.3036 μs 0.0470 μs 1.22 - 296 B 0.002
SpanReader_ReadAsync_Pooled 1000 126.102 μs 2.2419 μs 0.3469 μs 1.52 - 312 B 0.002

Benchmarks.Perf.ByteReaderBenchmarks


BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.4 LTS (Noble Numbat)
AMD EPYC 7763 2.45GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.301
  [Host]     : .NET 10.0.9 (10.0.9, 10.0.926.27113), X64 RyuJIT x86-64-v3
  Job-MEHJPP : .NET 10.0.9 (10.0.9, 10.0.926.27113), X64 RyuJIT x86-64-v3

IterationCount=5  WarmupCount=1  

Method Count Mean Error StdDev Ratio Gen0 Allocated Alloc Ratio
CharParser_Parse 100 4.654 μs 0.0360 μs 0.0056 μs 1.00 0.2289 3.83 KB 1.00
ByteParser_Parse 100 5.156 μs 0.0593 μs 0.0092 μs 1.11 0.2289 3.83 KB 1.00
CharParser_Parse_AfterUtf8Decode 100 7.028 μs 0.1879 μs 0.0488 μs 1.51 0.6638 10.86 KB 2.84
CharParser_Parse 1000 50.528 μs 1.4582 μs 0.3787 μs 1.00 2.3193 38.28 KB 1.00
ByteParser_Parse 1000 52.884 μs 0.2661 μs 0.0412 μs 1.05 2.3193 38.28 KB 1.00
CharParser_Parse_AfterUtf8Decode 1000 70.452 μs 0.7166 μs 0.1109 μs 1.39 6.5918 108.59 KB 2.84

Benchmarks.Perf.ByteReaderPoolingBenchmarks


BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.4 LTS (Noble Numbat)
AMD EPYC 7763 2.45GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.301
  [Host]     : .NET 10.0.9 (10.0.9, 10.0.926.27113), X64 RyuJIT x86-64-v3
  Job-MEHJPP : .NET 10.0.9 (10.0.9, 10.0.926.27113), X64 RyuJIT x86-64-v3

IterationCount=5  WarmupCount=1  

Method Count Mean Error StdDev Ratio Gen0 Allocated Alloc Ratio
NoString 100 3.422 μs 0.0467 μs 0.0121 μs 0.55 - - 0.00
WithString_NoPool 100 6.183 μs 0.0482 μs 0.0075 μs 1.00 0.2289 3920 B 1.00
WithString_Pooled 100 13.771 μs 0.0388 μs 0.0060 μs 2.23 - - 0.00
NoString 1000 41.512 μs 0.0674 μs 0.0175 μs 0.64 - - 0.00
WithString_NoPool 1000 64.502 μs 0.8085 μs 0.1251 μs 1.00 2.3193 39200 B 1.00
WithString_Pooled 1000 137.203 μs 0.9614 μs 0.2497 μs 2.13 - - 0.00

Benchmarks.Perf.ByteReaderStreamBenchmarks


BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.4 LTS (Noble Numbat)
AMD EPYC 7763 2.45GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.301
  [Host]     : .NET 10.0.9 (10.0.9, 10.0.926.27113), X64 RyuJIT x86-64-v3
  Job-MEHJPP : .NET 10.0.9 (10.0.9, 10.0.926.27113), X64 RyuJIT x86-64-v3

IterationCount=5  WarmupCount=1  

Method Count Mean Error StdDev Ratio Gen0 Gen1 Allocated Alloc Ratio
ByteReader_Read 100 5.841 μs 0.1111 μs 0.0288 μs 0.82 0.2289 - 3.83 KB 0.24
CharReader_Read 100 7.085 μs 0.0788 μs 0.0205 μs 1.00 0.9766 0.0458 16.03 KB 1.00
CharReader_Read 1000 57.752 μs 0.4873 μs 0.1266 μs 1.00 3.0518 0.1221 50.48 KB 1.00
ByteReader_Read 1000 63.819 μs 0.5154 μs 0.0798 μs 1.11 2.3193 - 38.28 KB 0.76

Benchmarks.Perf.ComparisonBenchmarks


BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.4 LTS (Noble Numbat)
AMD EPYC 9V74 2.87GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.301
  [Host]     : .NET 10.0.9 (10.0.9, 10.0.926.27113), X64 RyuJIT x86-64-v3
  Job-MEHJPP : .NET 10.0.9 (10.0.9, 10.0.926.27113), X64 RyuJIT x86-64-v3

IterationCount=5  WarmupCount=1  

Method Count Mean Error StdDev Ratio RatioSD Gen0 Gen1 Allocated Alloc Ratio
FixedWidthParser_Generated 100 4.318 μs 0.0554 μs 0.0086 μs 0.12 0.00 0.2289 - 3.86 KB 0.09
FixedWidthParser_Read 100 6.017 μs 0.0310 μs 0.0048 μs 0.17 0.00 0.2289 - 3.86 KB 0.09
RecordParser_Read 100 10.892 μs 0.1176 μs 0.0305 μs 0.30 0.00 0.2441 - 4.23 KB 0.10
FileHelpers_Read 100 35.959 μs 0.2725 μs 0.0708 μs 1.00 0.00 2.5024 0.0610 41.49 KB 1.00
FlatFiles_Read 100 63.738 μs 1.3180 μs 0.3423 μs 1.77 0.01 6.2256 0.1221 103.13 KB 2.49
FixedWidthParser_Generated 1000 43.313 μs 0.8611 μs 0.1333 μs 0.12 0.00 2.3193 - 38.31 KB 0.09
FixedWidthParser_Read 1000 58.297 μs 1.5585 μs 0.2412 μs 0.16 0.00 2.3193 - 38.31 KB 0.09
RecordParser_Read 1000 108.615 μs 0.8509 μs 0.2210 μs 0.30 0.00 2.3193 - 38.69 KB 0.10
FileHelpers_Read 1000 363.341 μs 19.0326 μs 2.9453 μs 1.00 0.01 24.4141 5.8594 406.42 KB 1.00
FlatFiles_Read 1000 720.107 μs 19.1720 μs 4.9789 μs 1.98 0.02 57.6172 1.9531 953.2 KB 2.35

Benchmarks.Perf.ComparisonWriterBenchmarks


BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.4 LTS (Noble Numbat)
AMD EPYC 9V74 2.87GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.301
  [Host]     : .NET 10.0.9 (10.0.9, 10.0.926.27113), X64 RyuJIT x86-64-v3
  Job-MEHJPP : .NET 10.0.9 (10.0.9, 10.0.926.27113), X64 RyuJIT x86-64-v3

IterationCount=5  WarmupCount=1  

Method Count Mean Error StdDev Ratio RatioSD Gen0 Gen1 Allocated Alloc Ratio
FixedWidthParser_Write 1 120.3 ns 0.21 ns 0.05 ns 0.65 0.01 - - - 0.00
FileHelpers_Write 1 184.5 ns 12.26 ns 3.18 ns 1.00 0.02 0.0215 - 360 B 1.00
FlatFiles_Write 1 443.9 ns 19.02 ns 4.94 ns 2.41 0.04 0.0424 - 712 B 1.98
RecordParser_Write 1 18,655.8 ns 2,561.39 ns 665.19 ns 101.15 3.65 1.0986 0.0305 18128 B 50.36
FixedWidthParser_Write 100 12,383.3 ns 275.50 ns 42.63 ns 0.67 0.01 - - - 0.00
FileHelpers_Write 100 18,535.9 ns 705.45 ns 183.20 ns 1.00 0.01 1.9531 - 32832 B 1.00
FlatFiles_Write 100 43,590.6 ns 919.66 ns 142.32 ns 2.35 0.02 4.2114 - 71200 B 2.17
RecordParser_Write 100 56,178.6 ns 15,963.76 ns 2,470.41 ns 3.03 0.12 1.2207 - 20440 B 0.62
FixedWidthParser_Write 1000 124,063.4 ns 3,698.76 ns 960.56 ns 0.66 0.01 - - - 0.00
FileHelpers_Write 1000 186,635.9 ns 17,240.45 ns 2,667.98 ns 1.00 0.02 19.5313 - 328032 B 1.00
FlatFiles_Write 1000 437,636.9 ns 11,473.10 ns 2,979.53 ns 2.35 0.03 42.4805 - 712000 B 2.17
RecordParser_Write 1000 474,362.8 ns 135,034.15 ns 35,067.94 ns 2.54 0.18 78.1250 76.1719 1321820 B 4.03

Benchmarks.Perf.ParserBenchmarks


BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.4 LTS (Noble Numbat)
AMD EPYC 7763 2.45GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.301
  [Host]     : .NET 10.0.9 (10.0.9, 10.0.926.27113), X64 RyuJIT x86-64-v3
  Job-MEHJPP : .NET 10.0.9 (10.0.9, 10.0.926.27113), X64 RyuJIT x86-64-v3

IterationCount=5  WarmupCount=1  

Method Line Mean Error StdDev Ratio Gen0 Allocated Alloc Ratio
Parse_NoPool Jane (...)0.00 [25] 53.67 ns 0.549 ns 0.085 ns 1.00 0.0029 48 B 1.00
Parse_WithStringPool Jane (...)0.00 [25] 77.05 ns 0.658 ns 0.171 ns 1.44 - - 0.00
Parse_NoPool John (...)0.00 [25] 51.56 ns 0.732 ns 0.190 ns 1.00 0.0024 40 B 1.00
Parse_WithStringPool John (...)0.00 [25] 69.93 ns 0.486 ns 0.126 ns 1.36 - - 0.00

Benchmarks.Perf.PipeReaderBenchmarks


BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.4 LTS (Noble Numbat)
AMD EPYC 7763 2.45GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.301
  [Host]     : .NET 10.0.9 (10.0.9, 10.0.926.27113), X64 RyuJIT x86-64-v3
  Job-MEHJPP : .NET 10.0.9 (10.0.9, 10.0.926.27113), X64 RyuJIT x86-64-v3

IterationCount=5  WarmupCount=1  

Method Count Mean Error StdDev Ratio RatioSD Gen0 Allocated Alloc Ratio
Stream_ReadAsync 100 7.934 μs 0.0677 μs 0.0176 μs 1.00 0.00 0.2441 4.08 KB 1.00
Pipe_ReadAsync 100 19.040 μs 0.3252 μs 0.0845 μs 2.40 0.01 0.2441 4.41 KB 1.08
Pipe_ReadAsync_SmallSegments 100 64.441 μs 1.8235 μs 0.4736 μs 8.12 0.06 0.2441 4.6 KB 1.13
Stream_ReadAsync 1000 77.609 μs 0.7516 μs 0.1952 μs 1.00 0.00 2.3193 38.53 KB 1.00
Pipe_ReadAsync 1000 210.194 μs 1.4468 μs 0.3757 μs 2.71 0.01 2.1973 38.96 KB 1.01
Pipe_ReadAsync_SmallSegments 1000 625.156 μs 7.5044 μs 1.9489 μs 8.06 0.03 1.9531 39.05 KB 1.01

Benchmarks.Perf.ReaderBenchmarks


BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.4 LTS (Noble Numbat)
Intel Xeon Platinum 8370C CPU 2.80GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.301
  [Host]     : .NET 10.0.9 (10.0.9, 10.0.926.27113), X64 RyuJIT x86-64-v4
  Job-MEHJPP : .NET 10.0.9 (10.0.9, 10.0.926.27113), X64 RyuJIT x86-64-v4

IterationCount=5  WarmupCount=1  

Method Count Mean Error StdDev Ratio Gen0 Allocated Alloc Ratio
GeneratedReader_Read 100 3.990 μs 0.0396 μs 0.0103 μs 0.58 0.1526 3952 B 0.354
SpanReader_Read 100 5.960 μs 0.0148 μs 0.0023 μs 0.86 0.1526 3952 B 0.354
Naive_ReadLine 100 6.925 μs 0.1338 μs 0.0207 μs 1.00 0.4425 11152 B 1.000
GeneratedReader_Read_Pooled 100 8.844 μs 0.0322 μs 0.0050 μs 1.28 - 32 B 0.003
SpanReader_Read_Pooled 100 10.407 μs 0.0578 μs 0.0089 μs 1.50 - 32 B 0.003
GeneratedReader_Read 1000 39.650 μs 0.2580 μs 0.0399 μs 0.59 1.5259 39232 B 0.353
SpanReader_Read 1000 52.514 μs 0.3439 μs 0.0893 μs 0.78 1.5259 39232 B 0.353
Naive_ReadLine 1000 66.961 μs 1.5246 μs 0.2359 μs 1.00 4.3945 111232 B 1.000
GeneratedReader_Read_Pooled 1000 82.346 μs 0.3271 μs 0.0850 μs 1.23 - 32 B 0.000
SpanReader_Read_Pooled 1000 102.146 μs 0.5911 μs 0.0915 μs 1.53 - 32 B 0.000

Benchmarks.Perf.ReaderStartupBenchmarks


BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.4 LTS (Noble Numbat)
Intel Xeon Platinum 8370C CPU 2.80GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.301
  [Host]     : .NET 10.0.9 (10.0.9, 10.0.926.27113), X64 RyuJIT x86-64-v4
  Job-MEHJPP : .NET 10.0.9 (10.0.9, 10.0.926.27113), X64 RyuJIT x86-64-v4

IterationCount=5  WarmupCount=1  

Method Mean Error StdDev Ratio Gen0 Allocated Alloc Ratio
GeneratedReader_ReadOne 84.89 ns 0.443 ns 0.069 ns 0.72 0.0029 72 B 0.75
ReflectionReader_ConstructAndReadOne 117.60 ns 0.807 ns 0.125 ns 1.00 0.0038 96 B 1.00

Benchmarks.Perf.SourceGenParserBenchmarks


BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.4 LTS (Noble Numbat)
AMD EPYC 7763 2.45GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.301
  [Host]     : .NET 10.0.9 (10.0.9, 10.0.926.27113), X64 RyuJIT x86-64-v3
  Job-MEHJPP : .NET 10.0.9 (10.0.9, 10.0.926.27113), X64 RyuJIT x86-64-v3

IterationCount=5  WarmupCount=1  

Method Line Mean Error StdDev Ratio Gen0 Allocated Alloc Ratio
Generated John (...)00.00 [25] 64.95 ns 1.142 ns 0.177 ns 1.00 0.0024 40 B 1.00
Reflection John (...)00.00 [25] 65.03 ns 2.877 ns 0.747 ns 1.00 0.0024 40 B 1.00

Benchmarks.Perf.WriterBenchmarks


BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.4 LTS (Noble Numbat)
AMD EPYC 9V74 2.60GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.301
  [Host]     : .NET 10.0.9 (10.0.9, 10.0.926.27113), X64 RyuJIT x86-64-v3
  Job-MEHJPP : .NET 10.0.9 (10.0.9, 10.0.926.27113), X64 RyuJIT x86-64-v3

IterationCount=5  WarmupCount=1  

Method Count Mean Error StdDev Ratio RatioSD Gen0 Gen1 Allocated Alloc Ratio
WriteMany_ReuseWriter 1 116.5 ns 0.69 ns 0.11 ns 0.51 0.00 - - - 0.00
WriteMany_ReuseWriterSpan 1 120.4 ns 0.25 ns 0.06 ns 0.53 0.00 - - - 0.00
WriteMany_AsyncReuseWriter 1 161.8 ns 2.24 ns 0.35 ns 0.71 0.01 0.0019 - 32 B 0.01
WriteMany_NewStream 1 228.7 ns 8.90 ns 2.31 ns 1.00 0.01 0.1328 - 2224 B 1.00
WriteMany_AsyncNewStream 1 419.4 ns 16.03 ns 4.16 ns 1.83 0.02 0.3204 0.0029 5360 B 2.41
WriteMany_ReuseWriter 100 12,118.1 ns 81.29 ns 12.58 ns 0.94 0.01 - - - 0.000
WriteMany_ReuseWriterSpan 100 12,427.8 ns 161.04 ns 41.82 ns 0.97 0.01 - - - 0.000
WriteMany_NewStream 100 12,868.5 ns 335.54 ns 87.14 ns 1.00 0.01 0.3052 - 5328 B 1.000
WriteMany_AsyncReuseWriter 100 13,536.9 ns 152.14 ns 23.54 ns 1.05 0.01 - - 32 B 0.006
WriteMany_AsyncNewStream 100 14,340.1 ns 230.78 ns 59.93 ns 1.11 0.01 0.3204 - 5360 B 1.006
WriteMany_ReuseWriter 1000 121,076.5 ns 680.67 ns 105.33 ns 1.00 0.01 - - - 0.000
WriteMany_NewStream 1000 121,315.5 ns 4,377.36 ns 1,136.79 ns 1.00 0.01 0.2441 - 5328 B 1.000
WriteMany_ReuseWriterSpan 1000 130,918.8 ns 849.86 ns 131.52 ns 1.08 0.01 - - - 0.000
WriteMany_AsyncNewStream 1000 135,425.0 ns 415.45 ns 64.29 ns 1.12 0.01 0.2441 - 5360 B 1.006
WriteMany_AsyncReuseWriter 1000 139,835.1 ns 561.47 ns 86.89 ns 1.15 0.01 - - 32 B 0.006

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants