Skip to content

Bump the analyzers group with 1 update - #120

Merged
GabrielMarquezMatte merged 1 commit into
developfrom
dependabot/nuget/develop/analyzers-4c74495f42
Sep 23, 2026
Merged

GabrielMarquezMatte merged 1 commit into
developfrom
dependabot/nuget/develop/analyzers-4c74495f42

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Sep 23, 2026 •

Copy link
Copy Markdown
Contributor

⚠️ Dependabot is rebasing this PR ⚠️

Rebasing might not happen immediately, so don't worry if this takes some time.

Note: if you make any changes to this PR yourself, they will take precedence over the rebase.


Updated Meziantou.Analyzer from 3.0.259 to 3.0.290.

Release notes

Sourced from Meziantou.Analyzer's releases.

3.0.290

NuGet package: https://www.nuget.org/packages/Meziantou.Analyzer/3.0.290

What's Changed

Full Changelog: meziantou/Meziantou.Analyzer@3.0.289...3.0.290

3.0.289

NuGet package: https://www.nuget.org/packages/Meziantou.Analyzer/3.0.289

What's Changed

Full Changelog: meziantou/Meziantou.Analyzer@3.0.288...3.0.289

3.0.288

NuGet package: https://www.nuget.org/packages/Meziantou.Analyzer/3.0.288

What's Changed

Full Changelog: meziantou/Meziantou.Analyzer@3.0.287...3.0.288

3.0.287

NuGet package: https://www.nuget.org/packages/Meziantou.Analyzer/3.0.287

What's Changed

Full Changelog: meziantou/Meziantou.Analyzer@3.0.286...3.0.287

3.0.286

NuGet package: https://www.nuget.org/packages/Meziantou.Analyzer/3.0.286

What's Changed

Full Changelog: meziantou/Meziantou.Analyzer@3.0.285...3.0.286

3.0.285

NuGet package: https://www.nuget.org/packages/Meziantou.Analyzer/3.0.285

What's Changed

Full Changelog: meziantou/Meziantou.Analyzer@3.0.284...3.0.285

3.0.284

NuGet package: https://www.nuget.org/packages/Meziantou.Analyzer/3.0.284

What's Changed

Full Changelog: meziantou/Meziantou.Analyzer@3.0.283...3.0.284

3.0.283

NuGet package: https://www.nuget.org/packages/Meziantou.Analyzer/3.0.283

What's Changed

Full Changelog: meziantou/Meziantou.Analyzer@3.0.282...3.0.283

3.0.282

NuGet package: https://www.nuget.org/packages/Meziantou.Analyzer/3.0.282

What's Changed

Full Changelog: meziantou/Meziantou.Analyzer@3.0.281...3.0.282

3.0.281

NuGet package: https://www.nuget.org/packages/Meziantou.Analyzer/3.0.281

What's Changed

Full Changelog: meziantou/Meziantou.Analyzer@3.0.280...3.0.281

3.0.280

NuGet package: https://www.nuget.org/packages/Meziantou.Analyzer/3.0.280

What's Changed

Full Changelog: meziantou/Meziantou.Analyzer@3.0.279...3.0.280

3.0.279

NuGet package: https://www.nuget.org/packages/Meziantou.Analyzer/3.0.279

What's Changed

Full Changelog: meziantou/Meziantou.Analyzer@3.0.278...3.0.279

3.0.278

NuGet package: https://www.nuget.org/packages/Meziantou.Analyzer/3.0.278

What's Changed

Full Changelog: meziantou/Meziantou.Analyzer@3.0.277...3.0.278

3.0.277

NuGet package: https://www.nuget.org/packages/Meziantou.Analyzer/3.0.277

What's Changed

Full Changelog: meziantou/Meziantou.Analyzer@3.0.276...3.0.277

3.0.276

NuGet package: https://www.nuget.org/packages/Meziantou.Analyzer/3.0.276

What's Changed

Full Changelog: meziantou/Meziantou.Analyzer@3.0.275...3.0.276

3.0.275

NuGet package: https://www.nuget.org/packages/Meziantou.Analyzer/3.0.275

What's Changed

Full Changelog: meziantou/Meziantou.Analyzer@3.0.274...3.0.275

3.0.274

NuGet package: https://www.nuget.org/packages/Meziantou.Analyzer/3.0.274

What's Changed

Full Changelog: meziantou/Meziantou.Analyzer@3.0.273...3.0.274

3.0.273

NuGet package: https://www.nuget.org/packages/Meziantou.Analyzer/3.0.273

What's Changed

Full Changelog: meziantou/Meziantou.Analyzer@3.0.272...3.0.273

3.0.272

NuGet package: https://www.nuget.org/packages/Meziantou.Analyzer/3.0.272

What's Changed

Full Changelog: meziantou/Meziantou.Analyzer@3.0.271...3.0.272

3.0.271

NuGet package: https://www.nuget.org/packages/Meziantou.Analyzer/3.0.271

What's Changed

Full Changelog: meziantou/Meziantou.Analyzer@3.0.270...3.0.271

3.0.270

NuGet package: https://www.nuget.org/packages/Meziantou.Analyzer/3.0.270

What's Changed

Full Changelog: meziantou/Meziantou.Analyzer@3.0.269...3.0.270

3.0.269

NuGet package: https://www.nuget.org/packages/Meziantou.Analyzer/3.0.269

What's Changed

Full Changelog: meziantou/Meziantou.Analyzer@3.0.268...3.0.269

3.0.268

NuGet package: https://www.nuget.org/packages/Meziantou.Analyzer/3.0.268

What's Changed

Full Changelog: meziantou/Meziantou.Analyzer@3.0.267...3.0.268

3.0.267

NuGet package: https://www.nuget.org/packages/Meziantou.Analyzer/3.0.267

What's Changed

Full Changelog: meziantou/Meziantou.Analyzer@3.0.266...3.0.267

3.0.266

NuGet package: https://www.nuget.org/packages/Meziantou.Analyzer/3.0.266

What's Changed

Full Changelog: meziantou/Meziantou.Analyzer@3.0.265...3.0.266

3.0.265

NuGet package: https://www.nuget.org/packages/Meziantou.Analyzer/3.0.265

What's Changed

Full Changelog: meziantou/Meziantou.Analyzer@3.0.264...3.0.265

3.0.264

NuGet package: https://www.nuget.org/packages/Meziantou.Analyzer/3.0.264

What's Changed

Full Changelog: meziantou/Meziantou.Analyzer@3.0.263...3.0.264

3.0.263

NuGet package: https://www.nuget.org/packages/Meziantou.Analyzer/3.0.263

What's Changed

Full Changelog: meziantou/Meziantou.Analyzer@3.0.262...3.0.263

3.0.262

NuGet package: https://www.nuget.org/packages/Meziantou.Analyzer/3.0.262

What's Changed

Full Changelog: meziantou/Meziantou.Analyzer@3.0.261...3.0.262

3.0.261

NuGet package: https://www.nuget.org/packages/Meziantou.Analyzer/3.0.261

What's Changed

Full Changelog: meziantou/Meziantou.Analyzer@3.0.260...3.0.261

3.0.260

NuGet package: https://www.nuget.org/packages/Meziantou.Analyzer/3.0.260

What's Changed

Full Changelog: meziantou/Meziantou.Analyzer@3.0.259...3.0.260

Commits viewable in compare view.

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore <dependency name> major version will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)
  • @dependabot ignore <dependency name> minor version will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)
  • @dependabot ignore <dependency name> will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)
  • @dependabot unignore <dependency name> will remove all of the ignore conditions of the specified dependency
  • @dependabot unignore <dependency name> <ignore condition> will remove the ignore condition of the specified dependency and ignore conditions

Bumps Meziantou.Analyzer from 3.0.259 to 3.0.290

---
updated-dependencies:
- dependency-name: Meziantou.Analyzer
  dependency-version: 3.0.290
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: analyzers
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot @github

dependabot Bot commented on behalf of github Sep 23, 2026

Copy link
Copy Markdown
Contributor Author

Labels

The following labels could not be found: dependencies. Please create it before Dependabot can add it to a pull request.

Please fix the above issues or remove invalid values from dependabot.yml.

@github-actions

Copy link
Copy Markdown

Benchmark Results

Failed to run

These produced no measurement; check the job log for the crash or exception.

  • ExcelReader.Benchmarks.ArrowConversionBenchmark.CsvAllString(Rows: 100000)

Baseline: master 1032df31, from the series published by benchmark-pages.yml. Both sides ran on a shared ubuntu-latest runner, so treat anything under ±10% as noise.

Moved by at least 10%

Benchmark master This PR Delta
ExcelReader.Benchmarks.EncryptedWorkbookBenchmark.Large_Encrypted_OpenOnly 35.96 ms 64.35 ms +79.0%
ExcelReader.Benchmarks.EncryptedWorkbookBenchmark.Large_Plain_Stream 54.94 ms 97.03 ms +76.6%
ExcelReader.Benchmarks.EncryptedWorkbookBenchmark.Plain_Stream 47.05 µs 82.72 µs +75.8%
ExcelReader.Benchmarks.RealDataReadBenchmark.Csv_ExcelReader_Memory 5.01 ms 8.41 ms +67.7%
ExcelReader.Benchmarks.EncryptedWorkbookBenchmark.Large_Encrypted_Stream 90.37 ms 149.71 ms +65.7%
ExcelReader.Benchmarks.EncryptedWorkbookBenchmark.Encrypted_Memory 35.70 ms 58.39 ms +63.5%
ExcelReader.Benchmarks.RealDataReadBenchmark.Csv_ExcelReader 5.25 ms 8.50 ms +62.1%
ExcelReader.Benchmarks.EncryptedWorkbookBenchmark.Encrypted_Stream_VerifyIntegrity 36.49 ms 59.11 ms +62.0%
ExcelReader.Benchmarks.EncryptedWorkbookBenchmark.Encrypted_Stream 36.03 ms 57.86 ms +60.6%
ExcelReader.Benchmarks.EncryptedWorkbookBenchmark.Encrypted_OpenOnly 35.74 ms 57.20 ms +60.0%
ExcelReader.Benchmarks.CsvParallelParseBenchmark.NarrowIntAggregate(Dop: 16) 221.57 ms 324.01 ms +46.2%
ExcelReader.Benchmarks.CsvParseBenchmark.Sep(Rows: 50000) 10.27 ms 14.80 ms +44.1%
ExcelReader.Benchmarks.ParseBenchmark.ExcelParserSyncSharedStrings(Rows: 50000) 14.47 ms 20.76 ms +43.5%
ExcelReader.Benchmarks.CsvParallelParseBenchmark.NarrowIntAggregate(Dop: 8) 222.12 ms 316.20 ms +42.4%
ExcelReader.Benchmarks.CsvParallelVsSepBenchmark.ExcelReader_Sequential(Corpus: ConversionHeavy) 704.13 ms 1.00 s +42.3%
ExcelReader.Benchmarks.CsvParallelParseBenchmark.NarrowIntAggregate(Dop: 1) 556.86 ms 778.85 ms +39.9%
ExcelReader.Benchmarks.RealDataReadBenchmark.Csv_ExcelReader_Materialized 22.31 ms 31.13 ms +39.5%
ExcelReader.Benchmarks.CsvParallelParseBenchmark.ConversionHeavy(Dop: 2) 854.16 ms 1.19 s +39.4%
ExcelReader.Benchmarks.CsvParallelParseBenchmark.ConversionHeavyAggregate(Dop: 16) 374.10 ms 513.07 ms +37.1%
ExcelReader.Benchmarks.CsvParallelParseBenchmark.NarrowIntAggregate(Dop: 4) 228.81 ms 312.21 ms +36.4%
ExcelReader.Benchmarks.CsvParallelParseBenchmark.NarrowInt(Dop: 16) 337.73 ms 460.18 ms +36.3%
ExcelReader.Benchmarks.ParseBenchmark.ExcelParserXlsbAsync(Rows: 50000) 9.39 ms 12.71 ms +35.4%
ExcelReader.Benchmarks.CsvParallelVsSepBenchmark.Sep_Parallel(Corpus: NarrowInt) 342.25 ms 462.21 ms +35.1%
ExcelReader.Benchmarks.CsvParallelParseBenchmark.ConversionHeavyAggregate(Dop: 1) 890.05 ms 1.20 s +34.9%
ExcelReader.Benchmarks.CsvParallelParseBenchmark.ConversionHeavy(Dop: 16) 561.73 ms 756.78 ms +34.7%
ExcelReader.Benchmarks.CsvParseBenchmark.Sylvan(Rows: 50000) 14.87 ms 20.00 ms +34.5%
ExcelReader.Benchmarks.CsvParallelParseBenchmark.ConversionHeavy(Dop: 8) 584.71 ms 784.14 ms +34.1%
ExcelReader.Benchmarks.CsvReadBenchmark.ExcelReaderWide(Rows: 50000) 9.54 ms 12.69 ms +33.0%
ExcelReader.Benchmarks.RealDataReadBenchmark.Xlsx_ExcelReader_Memory_Prefetch 51.95 ms 68.78 ms +32.4%
ExcelReader.Benchmarks.ParseBenchmark.ExcelParserAsync(Rows: 50000) 18.60 ms 24.60 ms +32.3%
ExcelReader.Benchmarks.CsvParallelParseBenchmark.NarrowIntAggregate(Dop: 2) 404.30 ms 534.59 ms +32.2%
ExcelReader.Benchmarks.CsvParallelVsSepBenchmark.ExcelReader_Parallel(Corpus: NarrowInt) 357.09 ms 469.93 ms +31.6%
ExcelReader.Benchmarks.RealDataReadBenchmark.Xlsm_ExcelReader 75.06 ms 98.46 ms +31.2%
ExcelReader.Benchmarks.RealDataTypedParseBenchmark.Xlsx_ExcelParser 86.69 ms 113.56 ms +31.0%
ExcelReader.Benchmarks.CsvParallelParseBenchmark.ConversionHeavyAggregate(Dop: 8) 390.73 ms 511.47 ms +30.9%
ExcelReader.Benchmarks.RealDataReadBenchmark.Xlsb_ExcelReader_Memory 28.85 ms 37.64 ms +30.5%
ExcelReader.Benchmarks.RealDataReadBenchmark.Xlsx_ExcelReader_Memory 74.56 ms 97.20 ms +30.4%
ExcelReader.Benchmarks.RealDataReadBenchmark.Xls_ExcelReader_Memory 11.65 ms 15.18 ms +30.3%
ExcelReader.Benchmarks.RealDataReadBenchmark.Xlsm_Sylvan 230.79 ms 300.66 ms +30.3%
ExcelReader.Benchmarks.RealDataReadBenchmark.Xlsx_Sylvan 229.76 ms 299.13 ms +30.2%
ExcelReader.Benchmarks.RealDataReadBenchmark.Xlsb_ExcelReader 28.93 ms 37.59 ms +29.9%
ExcelReader.Benchmarks.RealDataReadBenchmark.Xlsb_ExcelReader_Prefetch 17.37 ms 22.57 ms +29.9%
ExcelReader.Benchmarks.CsvParseBenchmark.ExcelParserAsync(Rows: 50000) 6.15 ms 7.98 ms +29.8%
ExcelReader.Benchmarks.RealDataReadBenchmark.Xlsx_ExcelReader 75.09 ms 97.46 ms +29.8%
ExcelReader.Benchmarks.RealDataTypedParseBenchmark.Xlsb_ExcelParser 38.64 ms 50.11 ms +29.7%
ExcelReader.Benchmarks.CsvParseBenchmark.CsvHelperLib(Rows: 50000) 28.45 ms 36.82 ms +29.4%
ExcelReader.Benchmarks.RealDataReadBenchmark.Xls_ExcelReader_Materialized 13.82 ms 17.87 ms +29.3%
ExcelReader.Benchmarks.RealDataReadBenchmark.Xlsm_ExcelReader_Materialized 76.78 ms 99.11 ms +29.1%
ExcelReader.Benchmarks.CsvParallelParseBenchmark.NarrowInt(Dop: 8) 350.34 ms 452.16 ms +29.1%
ExcelReader.Benchmarks.ParseBenchmark.ExcelParserStructSync(Rows: 50000) 17.07 ms 22.03 ms +29.0%
ExcelReader.Benchmarks.RealDataReadBenchmark.Xls_ExcelReader 11.81 ms 15.23 ms +29.0%
ExcelReader.Benchmarks.RealDataReadBenchmark.Xlsx_ExcelReader_Materialized 77.02 ms 99.17 ms +28.8%
ExcelReader.Benchmarks.RealDataReadBenchmark.Xls_Sylvan 21.38 ms 27.46 ms +28.5%
ExcelReader.Benchmarks.RealDataReadBenchmark.Xlsb_Sylvan 35.33 ms 45.34 ms +28.3%
ExcelReader.Benchmarks.RealDataReadBenchmark.Xlsb_ExcelReader_Materialized 31.62 ms 40.43 ms +27.9%
ExcelReader.Benchmarks.RealDataReadBenchmark.Xlsb_ExcelReader_Memory_Prefetch 17.91 ms 22.89 ms +27.8%
ExcelReader.Benchmarks.ParseBenchmark.SylvanAsync(Rows: 50000) 72.58 ms 92.62 ms +27.6%
ExcelReader.Benchmarks.RealDataReadBenchmark.Xlsm_ExcelReader_Prefetch 53.47 ms 68.15 ms +27.4%
ExcelReader.Benchmarks.RealDataReadBenchmark.Xlsm_ExcelReader_Memory 75.39 ms 95.65 ms +26.9%
ExcelReader.Benchmarks.ParseBenchmark.MiniExcel(Rows: 50000) 200.87 ms 254.74 ms +26.8%
ExcelReader.Benchmarks.ParseBenchmark.Sylvan(Rows: 50000) 71.35 ms 89.67 ms +25.7%
ExcelReader.Benchmarks.RealDataReadBenchmark.Xlsm_ExcelReader_Memory_Prefetch 54.06 ms 67.87 ms +25.6%
ExcelReader.Benchmarks.CsvParallelParseBenchmark.NarrowInt(Dop: 2) 551.92 ms 692.67 ms +25.5%
ExcelReader.Benchmarks.RealDataReadBenchmark.Xlsx_ExcelReader_Prefetch 52.97 ms 66.28 ms +25.1%
ExcelReader.Benchmarks.ParseBenchmark.ExcelParserSync(Rows: 50000) 18.72 ms 23.38 ms +24.9%
ExcelReader.Benchmarks.CsvParallelVsSepBenchmark.Sep_Sequential(Corpus: NarrowInt) 472.71 ms 588.00 ms +24.4%
ExcelReader.Benchmarks.CsvParallelVsSepBenchmark.Sep_Sequential(Corpus: ConversionHeavy) 904.05 ms 1.12 s +24.2%
ExcelReader.Benchmarks.CsvParallelVsSepBenchmark.Sep_Parallel(Corpus: ConversionHeavy) 683.80 ms 845.13 ms +23.6%
ExcelReader.Benchmarks.CsvParallelParseBenchmark.ConversionHeavy(Dop: 1) 1.16 s 1.44 s +23.5%
ExcelReader.Benchmarks.CsvParallelParseBenchmark.NarrowInt(Dop: 1) 654.78 ms 803.02 ms +22.6%
ExcelReader.Benchmarks.ParseBenchmark.ExcelParserXlsbSync(Rows: 50000) 9.48 ms 11.57 ms +22.1%
ExcelReader.Benchmarks.CsvParallelParseBenchmark.ConversionHeavyAggregate(Dop: 4) 427.69 ms 499.67 ms +16.8%
ExcelReader.Benchmarks.CsvParseBenchmark.ExcelParserSync(Rows: 50000) 6.74 ms 7.84 ms +16.2%
ExcelReader.Benchmarks.CsvParallelParseBenchmark.NarrowInt(Dop: 4) 396.10 ms 449.92 ms +13.6%
ExcelReader.Benchmarks.CsvParallelParseBenchmark.ConversionHeavyAggregate(Dop: 2) 637.08 ms 722.55 ms +13.4%
ExcelReader.Benchmarks.CsvParallelParseBenchmark.ConversionHeavy(Dop: 4) 660.01 ms 748.20 ms +13.4%
ExcelReader.Benchmarks.CsvParallelVsSepBenchmark.ExcelReader_Parallel(Corpus: ConversionHeavy) 461.53 ms 522.80 ms +13.3%
ExcelReader.Benchmarks.CsvParallelVsSepBenchmark.ExcelReader_Sequential(Corpus: NarrowInt) 619.07 ms 700.48 ms +13.2%
ExcelReader.Benchmarks.WriteBenchmark.ExcelReaderWriterSharedStrings(Rows: 50000) 19.15 ms 17.20 ms -10.2%
ExcelReader.Benchmarks.DataReaderBenchmark.DataReader_TypedGetters(Rows: 50000) 21.70 ms 19.37 ms -10.7%
ExcelReader.Benchmarks.XlsWriteBenchmark.XlsWriter(Rows: 50000) 7.32 ms 6.50 ms -11.2%
ExcelReader.Benchmarks.WritePathBenchmark.StyledRows_Xlsx 11.48 ms 9.98 ms -13.1%
ExcelReader.Benchmarks.RecordWriteBenchmark.Xls(Rows: 50000) 7.83 ms 6.43 ms -17.8%
ExcelReader.Benchmarks.ColdStartBenchmark.FluentParseWithAttributeFallbackFirstUse(Rows: 200) 44.49 ms 35.12 ms -21.0%
ExcelReader.Benchmarks.ColdStartBenchmark.FluentParseFirstUse(Rows: 200) 35.69 ms 27.89 ms -21.8%
ExcelReader.Benchmarks.ColdStartBenchmark.TypedParseFirstUse(Rows: 200) 41.52 ms 32.07 ms -22.8%
ExcelReader.Benchmarks.ColdStartBenchmark.RecordWriteFirstUse(Rows: 200) 26.09 ms 19.55 ms -25.0%
ExcelReader.Benchmarks.StringHeavyReadBenchmark.Xlsb_ExcelReader_Materialized(Rows: 65536) 78.02 ms 56.86 ms -27.1%
ExcelReader.Benchmarks.NativeRowReadBenchmark.ReadAllDecoded 112.18 ms 77.90 ms -30.6%
ExcelReader.Benchmarks.StringHeavyReadBenchmark.Xlsx_ExcelReader_Materialized_Interned(Rows: 65536) 115.34 ms 79.64 ms -30.9%
ExcelReader.Benchmarks.StringHeavyReadBenchmark.Xlsb_ExcelReader_Materialized_Interned(Rows: 65536) 82.22 ms 56.33 ms -31.5%
ExcelReader.Benchmarks.StringHeavyReadBenchmark.Xlsb_ExcelReader_Memory(Rows: 65536) 51.68 ms 33.98 ms -34.2%
ExcelReader.Benchmarks.StringHeavyReadBenchmark.Xlsb_ExcelReader(Rows: 65536) 51.86 ms 33.89 ms -34.7%
ExcelReader.Benchmarks.StringHeavyReadBenchmark.Xlsx_ExcelReader(Rows: 65536) 83.47 ms 54.46 ms -34.7%
ExcelReader.Benchmarks.StringHeavyReadBenchmark.Xlsx_ExcelReader_Prefetch(Rows: 65536) 58.24 ms 37.78 ms -35.1%
ExcelReader.Benchmarks.StringHeavyReadBenchmark.Xlsx_Sylvan(Rows: 65536) 273.03 ms 175.72 ms -35.6%
ExcelReader.Benchmarks.StringHeavyReadBenchmark.Xlsb_Sylvan(Rows: 65536) 99.29 ms 63.04 ms -36.5%
ExcelReader.Benchmarks.StringHeavyReadBenchmark.Xlsx_ExcelReader_Materialized(Rows: 65536) 126.26 ms 79.66 ms -36.9%
ExcelReader.Benchmarks.NativeTypedParseBenchmark.ParseArrow 54.38 ms 34.08 ms -37.3%
ExcelReader.Benchmarks.NativeTypedParseBenchmark.ParseTyped 54.31 ms 32.96 ms -39.3%
ExcelReader.Benchmarks.NativeRowReadBenchmark.NextRowBlob 95.10 ms 56.68 ms -40.4%
ExcelReader.Benchmarks.NativeRowReadBenchmark.NextRowDecoded 102.67 ms 60.49 ms -41.1%
ExcelReader.Benchmarks.ChunkedParseBenchmark.WholeSheet(Rows: 50000) 18.41 ms 10.80 ms -41.4%
ExcelReader.Benchmarks.NativeRowReadBenchmark.ReadAllBlob 100.24 ms 57.89 ms -42.3%
ExcelReader.Benchmarks.StringHeavyReadBenchmark.Xlsb_ExcelReader_Prefetch(Rows: 65536) 44.49 ms 25.51 ms -42.7%
ExcelReader.Benchmarks.ChunkedParseBenchmark.Batched_10k(Rows: 50000) 18.53 ms 10.61 ms -42.8%
ExcelReader.Benchmarks.ChunkedParseBenchmark.Batched_1k(Rows: 50000) 19.38 ms 10.63 ms -45.2%
ExcelReader.Benchmarks.RealDataReadBenchmark.Csv_Sylvan 13.40 ms 7.13 ms -46.8%

43 within ±10%, 1 with no baseline entry (new, renamed, or reparameterized).

Full results per group

ExcelReader.Benchmarks.ArrowConversionBenchmark


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

IterationCount=5  WarmupCount=1  

Method Rows Mean Error StdDev Ratio RatioSD Gen0 Gen1 Gen2 Allocated Alloc Ratio
CsvAllString 100000 NA NA NA ? ? NA NA NA NA ?
CsvTyped 100000 16.46 ms 0.685 ms 0.178 ms ? ? 281.2500 250.0000 250.0000 8.13 MB ?
XlsbTyped 100000 22.90 ms 0.165 ms 0.043 ms ? ? 562.5000 531.2500 531.2500 8.15 MB ?
CsvTypedWithInference 100000 16.33 ms 0.261 ms 0.040 ms ? ? 718.7500 656.2500 656.2500 14.89 MB ?

Benchmarks with issues:
ArrowConversionBenchmark.CsvAllString: Job-MEHJPP(IterationCount=5, WarmupCount=1) [Rows=100000]

ExcelReader.Benchmarks.ChunkedParseBenchmark


BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 9V45 2.60GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.401
  [Host]     : .NET 10.0.12 (10.0.12, 10.0.1226.42308), X64 RyuJIT x86-64-v4
  Job-MEHJPP : .NET 10.0.12 (10.0.12, 10.0.1226.42308), X64 RyuJIT x86-64-v4

IterationCount=5  WarmupCount=1  

Method Rows Mean Error StdDev Ratio Gen0 Gen1 Allocated Alloc Ratio
WholeSheet 50000 10.80 ms 0.558 ms 0.086 ms 1.00 78.1250 62.5000 1.31 MB 1.00
Batched_10k 50000 10.61 ms 0.534 ms 0.083 ms 0.98 93.7500 46.8750 1.6 MB 1.23
Batched_1k 50000 10.63 ms 0.402 ms 0.062 ms 0.98 93.7500 - 1.51 MB 1.16

ExcelReader.Benchmarks.ColdStartBenchmark


BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 9V74 2.60GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.401
  [Host]     : .NET 10.0.12 (10.0.12, 10.0.1226.42308), X64 RyuJIT x86-64-v4
  Job-GOEFXF : .NET 10.0.12 (10.0.12, 10.0.1226.42308), X64 RyuJIT x86-64-v4

InvocationCount=1  IterationCount=1  LaunchCount=16  
RunStrategy=ColdStart  UnrollFactor=1  WarmupCount=0  

Method Rows Mean Error StdDev Allocated
TypedParseFirstUse 200 32.07 ms 0.154 ms 0.151 ms 28.43 KB
RecordWriteFirstUse 200 19.55 ms 0.423 ms 0.416 ms 84.27 KB
FluentParseFirstUse 200 27.89 ms 0.080 ms 0.079 ms 30.95 KB
FluentParseWithAttributeFallbackFirstUse 200 35.12 ms 1.866 ms 1.833 ms 32.65 KB

ExcelReader.Benchmarks.CsvParallelParseBenchmark


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

IterationCount=5  WarmupCount=1  

Method Dop Mean Error StdDev Ratio RatioSD Gen0 Gen1 Allocated Alloc Ratio
ConversionHeavy 1 1,435.2 ms 116.95 ms 30.37 ms 1.00 0.03 42000.0000 - 687056.97 KB 1.000
NarrowInt 1 803.0 ms 131.47 ms 34.14 ms 0.56 0.02 15000.0000 - 251162.02 KB 0.366
ConversionHeavyAggregate 1 1,200.7 ms 98.96 ms 25.70 ms 0.84 0.02 - - 827.42 KB 0.001
NarrowIntAggregate 1 778.8 ms 139.45 ms 36.22 ms 0.54 0.03 - - 815.45 KB 0.001
ConversionHeavy 2 1,190.3 ms 45.59 ms 11.84 ms 1.00 0.01 42000.0000 24000.0000 698204.45 KB 1.000
NarrowInt 2 692.7 ms 27.74 ms 7.20 ms 0.58 0.01 16000.0000 1000.0000 262389.64 KB 0.376
ConversionHeavyAggregate 2 722.6 ms 44.38 ms 6.87 ms 0.61 0.01 - - 1240.35 KB 0.002
NarrowIntAggregate 2 534.6 ms 7.47 ms 1.94 ms 0.45 0.00 - - 1232.68 KB 0.002
ConversionHeavy 4 748.2 ms 45.95 ms 11.93 ms 1.00 0.02 42000.0000 20000.0000 698308.69 KB 1.000
NarrowInt 4 449.9 ms 34.40 ms 5.32 ms 0.60 0.01 16000.0000 1000.0000 262502.91 KB 0.376
ConversionHeavyAggregate 4 499.7 ms 40.89 ms 10.62 ms 0.67 0.02 - - 1318.86 KB 0.002
NarrowIntAggregate 4 312.2 ms 46.72 ms 7.23 ms 0.42 0.01 - - 1258.19 KB 0.002
ConversionHeavy 8 784.1 ms 123.67 ms 32.12 ms 1.00 0.05 42000.0000 21000.0000 698411.7 KB 1.000
NarrowInt 8 452.2 ms 19.75 ms 3.06 ms 0.58 0.02 16000.0000 1000.0000 262644.81 KB 0.376
ConversionHeavyAggregate 8 511.5 ms 20.69 ms 5.37 ms 0.65 0.03 - - 1303.12 KB 0.002
NarrowIntAggregate 8 316.2 ms 12.96 ms 3.37 ms 0.40 0.02 - - 1284.07 KB 0.002
ConversionHeavy 16 756.8 ms 66.70 ms 17.32 ms 1.00 0.03 42000.0000 20000.0000 698668.73 KB 1.000
NarrowInt 16 460.2 ms 70.05 ms 18.19 ms 0.61 0.03 16000.0000 1000.0000 262996.39 KB 0.376
ConversionHeavyAggregate 16 513.1 ms 13.79 ms 3.58 ms 0.68 0.01 - - 1361.26 KB 0.002
NarrowIntAggregate 16 324.0 ms 46.76 ms 12.14 ms 0.43 0.02 - - 1366.21 KB 0.002

ExcelReader.Benchmarks.CsvParallelVsSepBenchmark


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

IterationCount=5  WarmupCount=1  

Method Corpus Mean Error StdDev Ratio RatioSD Gen0 Gen1 Gen2 Allocated Alloc Ratio
ExcelReader_Sequential NarrowInt 700.5 ms 8.69 ms 1.35 ms 1.00 0.00 15000.0000 - - 244.15 MB 1.00
ExcelReader_Parallel NarrowInt 469.9 ms 76.93 ms 19.98 ms 0.67 0.03 16000.0000 1000.0000 - 256.45 MB 1.05
Sep_Sequential NarrowInt 588.0 ms 5.31 ms 0.82 ms 0.84 0.00 15000.0000 - - 244.15 MB 1.00
Sep_Parallel NarrowInt 462.2 ms 77.12 ms 20.03 ms 0.66 0.03 17000.0000 15000.0000 1000.0000 258.39 MB 1.06
ExcelReader_Sequential ConversionHeavy 1,001.6 ms 6.24 ms 1.62 ms 1.00 0.00 29000.0000 - - 467.31 MB 1.00
ExcelReader_Parallel ConversionHeavy 522.8 ms 29.46 ms 4.56 ms 0.52 0.00 29000.0000 25000.0000 - 475.85 MB 1.02
Sep_Sequential ConversionHeavy 1,122.8 ms 11.54 ms 1.79 ms 1.12 0.00 29000.0000 - - 467.31 MB 1.00
Sep_Parallel ConversionHeavy 845.1 ms 67.48 ms 17.52 ms 0.84 0.02 34000.0000 33000.0000 4000.0000 477.42 MB 1.02

ExcelReader.Benchmarks.CsvParseBenchmark


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

IterationCount=5  WarmupCount=1  

Method Rows Mean Error StdDev Ratio RatioSD Gen0 Gen1 Allocated Alloc Ratio
ExcelParserSync 50000 7.836 ms 0.1143 ms 0.0177 ms 1.00 0.00 242.1875 - 3.86 MB 1.00
ExcelParserAsync 50000 7.979 ms 0.3582 ms 0.0930 ms 1.02 0.01 234.3750 - 3.86 MB 1.00
Sep 50000 14.799 ms 0.5854 ms 0.1520 ms 1.89 0.02 234.3750 - 3.87 MB 1.00
Sylvan 50000 20.001 ms 0.2129 ms 0.0329 ms 2.55 0.01 656.2500 62.5000 10.95 MB 2.83
CsvHelperLib 50000 36.824 ms 0.3580 ms 0.0930 ms 4.70 0.01 857.1429 71.4286 14.41 MB 3.73

ExcelReader.Benchmarks.CsvReadBenchmark


BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 7763 2.78GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.401
  [Host]     : .NET 10.0.12 (10.0.12, 10.0.1226.42308), X64 RyuJIT x86-64-v3
  Job-MEHJPP : .NET 10.0.12 (10.0.12, 10.0.1226.42308), X64 RyuJIT x86-64-v3

IterationCount=5  WarmupCount=1  

Method Rows Mean Error StdDev Ratio RatioSD Gen0 Gen1 Allocated Alloc Ratio
ExcelReader 50000 4.714 ms 0.0676 ms 0.0176 ms 1.00 0.00 - - 1.48 KB 1.00
ExcelReaderWide 50000 12.686 ms 0.1557 ms 0.0404 ms 2.69 0.01 - - 1.41 KB 0.96
ExcelReaderAsync 50000 4.223 ms 0.1212 ms 0.0315 ms 0.90 0.01 - - 1.55 KB 1.05
Sep 50000 13.545 ms 0.1619 ms 0.0420 ms 2.87 0.01 - - 3.93 KB 2.66
Sylvan 50000 6.391 ms 0.0475 ms 0.0123 ms 1.36 0.01 - - 37.78 KB 25.58
CsvHelperLib 50000 36.929 ms 0.6571 ms 0.1707 ms 7.83 0.04 857.1429 71.4286 14720.14 KB 9,969.20

ExcelReader.Benchmarks.CsvWriteBenchmark


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

IterationCount=5  WarmupCount=1  

Method Rows Mean Error StdDev Ratio RatioSD Gen0 Gen1 Gen2 Allocated Alloc Ratio
ExcelReaderWriter 50000 6.497 ms 0.3888 ms 0.0602 ms 1.00 0.01 500.0000 500.0000 500.0000 4 MB 1.00
Sep 50000 9.831 ms 0.6030 ms 0.1566 ms 1.51 0.03 500.0000 500.0000 500.0000 4.01 MB 1.00
SylvanWriter 50000 9.883 ms 0.4047 ms 0.1051 ms 1.52 0.02 500.0000 500.0000 500.0000 4.04 MB 1.01
CsvHelperLib 50000 19.653 ms 0.4453 ms 0.0689 ms 3.03 0.03 1187.5000 656.2500 593.7500 13.79 MB 3.44

ExcelReader.Benchmarks.DataReaderBenchmark


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

IterationCount=5  WarmupCount=1  

Method Rows Mean Error StdDev Ratio RatioSD Gen0 Gen1 Gen2 Allocated Alloc Ratio
Baseline_RawRows 50000 15.19 ms 0.037 ms 0.006 ms 1.00 0.00 - - - 11.18 KB 1.00
DataReader_GetValue 50000 19.82 ms 0.055 ms 0.014 ms 1.30 0.00 312.5000 - - 5138.82 KB 459.66
DataReader_TypedGetters 50000 19.37 ms 0.332 ms 0.086 ms 1.27 0.01 93.7500 - - 1623.2 KB 145.19
DataReader_GetBytes 50000 15.66 ms 0.122 ms 0.032 ms 1.03 0.00 - - - 11.87 KB 1.06
DataTable_Load 50000 84.80 ms 27.926 ms 7.252 ms 5.58 0.44 1500.0000 1000.0000 500.0000 23399.48 KB 2,093.04

ExcelReader.Benchmarks.EncryptedWorkbookBenchmark


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

IterationCount=5  WarmupCount=1  

Method Mean Error StdDev Ratio RatioSD Gen0 Allocated Alloc Ratio
Plain_Stream 82.72 μs 51.03 μs 7.897 μs 1.01 0.12 0.9766 19.41 KB 1.00
Encrypted_Stream 57,855.46 μs 601.21 μs 93.038 μs 703.99 57.36 - 48.32 KB 2.49
Encrypted_Stream_VerifyIntegrity 59,113.88 μs 1,884.37 μs 489.364 μs 719.30 58.47 - 50.25 KB 2.59
Encrypted_Memory 58,386.65 μs 2,304.09 μs 598.365 μs 710.45 57.88 - 52.74 KB 2.72
Encrypted_OpenOnly 57,196.87 μs 1,252.60 μs 193.842 μs 695.97 56.74 - 42.8 KB 2.20
Large_Plain_Stream 97,029.28 μs 5,869.55 μs 908.319 μs 1,180.65 96.69 - 11.18 KB 0.58
Large_Encrypted_Stream 149,712.06 μs 4,550.16 μs 704.142 μs 1,821.70 148.60 - 36.96 KB 1.90
Large_Encrypted_OpenOnly 64,353.17 μs 743.66 μs 193.125 μs 783.05 63.41 - 36.38 KB 1.87

ExcelReader.Benchmarks.NativeRowReadBenchmark


BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 9V45 2.60GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.401
  [Host]     : .NET 10.0.12 (10.0.12, 10.0.1226.42308), X64 RyuJIT x86-64-v4
  Job-MEHJPP : .NET 10.0.12 (10.0.12, 10.0.1226.42308), X64 RyuJIT x86-64-v4

IterationCount=5  WarmupCount=1  

Method Mean Error StdDev Ratio RatioSD Gen0 Gen1 Gen2 Allocated Alloc Ratio
NextRowBlob 56.68 ms 3.007 ms 0.465 ms 1.00 0.01 222.2222 222.2222 222.2222 3.71 MB 1.00
NextRowDecoded 60.49 ms 1.635 ms 0.253 ms 1.07 0.01 222.2222 222.2222 222.2222 3.71 MB 1.00
ReadAllBlob 57.89 ms 1.970 ms 0.512 ms 1.02 0.01 1000.0000 888.8889 - 21.06 MB 5.68
ReadAllDecoded 77.90 ms 4.144 ms 1.076 ms 1.37 0.02 571.4286 571.4286 571.4286 5.71 MB 1.54

ExcelReader.Benchmarks.NativeTypedParseBenchmark


BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 9V45 2.60GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.401
  [Host]     : .NET 10.0.12 (10.0.12, 10.0.1226.42308), X64 RyuJIT x86-64-v4
  Job-MEHJPP : .NET 10.0.12 (10.0.12, 10.0.1226.42308), X64 RyuJIT x86-64-v4

IterationCount=5  WarmupCount=1  

Method Mean Error StdDev Ratio Gen0 Gen1 Gen2 Allocated Alloc Ratio
ParseTyped 32.96 ms 2.343 ms 0.363 ms 1.00 866.6667 733.3333 400.0000 11.61 MB 1.00
ParseArrow 34.08 ms 0.929 ms 0.241 ms 1.03 866.6667 733.3333 400.0000 11.62 MB 1.00

ExcelReader.Benchmarks.ParseBenchmark


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

IterationCount=5  WarmupCount=1  

Method Rows Mean Error StdDev Ratio RatioSD Gen0 Allocated Alloc Ratio
ExcelParserSync 50000 23.38 ms 0.035 ms 0.005 ms 1.00 0.00 218.7500 3966.8 KB 1.000
ExcelParserSyncSharedStrings 50000 20.76 ms 0.217 ms 0.056 ms 0.89 0.00 125.0000 2357.29 KB 0.594
ExcelParserStructSync 50000 22.03 ms 0.077 ms 0.020 ms 0.94 0.00 93.7500 1623.05 KB 0.409
RefStructModelSync 50000 20.78 ms 0.161 ms 0.042 ms 0.89 0.00 - 11.72 KB 0.003
ExcelParserAsync 50000 24.60 ms 0.114 ms 0.030 ms 1.05 0.00 218.7500 3968.95 KB 1.001
ExcelParserXlsbSync 50000 11.57 ms 0.318 ms 0.049 ms 0.50 0.00 234.3750 3968.9 KB 1.001
ExcelParserXlsbAsync 50000 12.71 ms 0.067 ms 0.017 ms 0.54 0.00 234.3750 3971.47 KB 1.001
MiniExcel 50000 254.74 ms 8.541 ms 1.322 ms 10.90 0.05 16000.0000 262296.95 KB 66.123
Sylvan 50000 89.67 ms 1.845 ms 0.479 ms 3.84 0.02 - 10726.71 KB 2.704
SylvanAsync 50000 92.62 ms 1.947 ms 0.506 ms 3.96 0.02 - 10727.74 KB 2.704

ExcelReader.Benchmarks.ReadBenchmark


BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 7763 2.78GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.401
  [Host]     : .NET 10.0.12 (10.0.12, 10.0.1226.42308), X64 RyuJIT x86-64-v3
  Job-MEHJPP : .NET 10.0.12 (10.0.12, 10.0.1226.42308), X64 RyuJIT x86-64-v3

IterationCount=5  WarmupCount=1  

Method Rows Mean Error StdDev Ratio RatioSD Gen0 Allocated Alloc Ratio
ExcelReader 50000 18.430 ms 0.1027 ms 0.0267 ms 1.00 0.00 - 11.18 KB 1.00
ExcelReaderAsync 50000 18.568 ms 0.1401 ms 0.0364 ms 1.01 0.00 - 13.31 KB 1.19
ExcelReaderXlsb 50000 7.417 ms 0.0904 ms 0.0235 ms 0.40 0.00 - 13.28 KB 1.19
ExcelReaderXlsbAsync 50000 7.910 ms 0.1233 ms 0.0191 ms 0.43 0.00 - 15.84 KB 1.42
ExcelReaderMaterialized 50000 19.307 ms 0.0466 ms 0.0121 ms 1.05 0.00 93.7500 1622.51 KB 145.13
MiniExcel 50000 247.927 ms 7.6105 ms 1.1777 ms 13.45 0.06 16000.0000 273792.97 KB 24,490.22
Sylvan 50000 57.325 ms 1.5315 ms 0.3977 ms 3.11 0.02 - 1939.18 KB 173.46

ExcelReader.Benchmarks.RealDataReadBenchmark


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

IterationCount=5  WarmupCount=1  

Method Mean Error StdDev Ratio RatioSD Gen0 Allocated Alloc Ratio
Xlsx_ExcelReader 97.455 ms 5.7223 ms 1.4861 ms 1.00 0.02 - 17.85 KB 1.00
Xlsx_Sylvan 299.134 ms 4.2308 ms 0.6547 ms 3.07 0.04 - 644.11 KB 36.08
Xlsx_ExcelReader_Materialized 99.167 ms 0.2963 ms 0.0459 ms 1.02 0.01 - 27.32 KB 1.53
Xlsx_ExcelReader_Prefetch 66.285 ms 14.3027 ms 2.2134 ms 0.68 0.02 - 37.61 KB 2.11
Xlsx_ExcelReader_Memory 97.196 ms 1.7916 ms 0.2772 ms 1.00 0.01 - 7 KB 0.39
Xlsx_ExcelReader_Memory_Prefetch 68.778 ms 12.8145 ms 3.3279 ms 0.71 0.03 - 26.97 KB 1.51
Xlsm_ExcelReader 98.463 ms 5.5666 ms 1.4456 ms 1.01 0.02 - 17.85 KB 1.00
Xlsm_Sylvan 300.665 ms 20.8831 ms 5.4233 ms 3.09 0.07 - 644.19 KB 36.09
Xlsm_ExcelReader_Materialized 99.112 ms 0.4993 ms 0.0773 ms 1.02 0.01 - 27.32 KB 1.53
Xlsm_ExcelReader_Prefetch 68.146 ms 18.6265 ms 4.8372 ms 0.70 0.05 - 37.6 KB 2.11
Xlsm_ExcelReader_Memory 95.651 ms 0.1613 ms 0.0250 ms 0.98 0.01 - 7 KB 0.39
Xlsm_ExcelReader_Memory_Prefetch 67.871 ms 12.7634 ms 3.3146 ms 0.70 0.03 - 26.73 KB 1.50
Xlsb_ExcelReader 37.588 ms 0.3347 ms 0.0518 ms 0.39 0.01 - 18.8 KB 1.05
Xlsb_Sylvan 45.339 ms 0.6954 ms 0.1806 ms 0.47 0.01 - 338.55 KB 18.96
Xlsb_ExcelReader_Materialized 40.433 ms 0.4275 ms 0.0662 ms 0.41 0.01 - 28.27 KB 1.58
Xlsb_ExcelReader_Prefetch 22.572 ms 0.5471 ms 0.0847 ms 0.23 0.00 - 38.99 KB 2.18
Xlsb_ExcelReader_Memory 37.640 ms 0.3542 ms 0.0548 ms 0.39 0.01 - 8.69 KB 0.49
Xlsb_ExcelReader_Memory_Prefetch 22.887 ms 0.4101 ms 0.0635 ms 0.23 0.00 - 30.97 KB 1.73
Xls_ExcelReader 15.235 ms 0.1472 ms 0.0228 ms 0.16 0.00 - 11.3 KB 0.63
Xls_Sylvan 27.464 ms 0.0940 ms 0.0244 ms 0.28 0.00 - 185.9 KB 10.41
Xls_ExcelReader_Materialized 17.865 ms 0.1654 ms 0.0256 ms 0.18 0.00 - 20.77 KB 1.16
Xls_ExcelReader_Memory 15.180 ms 0.0230 ms 0.0036 ms 0.16 0.00 - 11.3 KB 0.63
Csv_ExcelReader 8.504 ms 0.0543 ms 0.0084 ms 0.09 0.00 - 1.41 KB 0.08
Csv_Sylvan 7.127 ms 0.0264 ms 0.0041 ms 0.07 0.00 - 40.26 KB 2.26
Csv_ExcelReader_Materialized 31.134 ms 0.2835 ms 0.0439 ms 0.32 0.00 2218.7500 36566.46 KB 2,048.36
Csv_ExcelReader_Memory 8.408 ms 0.2797 ms 0.0726 ms 0.09 0.00 - 1.35 KB 0.08

ExcelReader.Benchmarks.RealDataTypedParseBenchmark


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

IterationCount=5  WarmupCount=1  

Method Mean Error StdDev Ratio RatioSD Gen0 Allocated Alloc Ratio
Xlsx_ExcelParser 113.56 ms 6.181 ms 1.605 ms 1.00 0.02 400.0000 8.03 MB 1.00
Xlsb_ExcelParser 50.11 ms 0.179 ms 0.028 ms 0.44 0.01 500.0000 8.03 MB 1.00

ExcelReader.Benchmarks.RecordWriteBenchmark


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

IterationCount=5  WarmupCount=1  

Method Rows Mean Error StdDev Ratio Gen0 Gen1 Gen2 Allocated Alloc Ratio
Xlsx 50000 18.097 ms 0.1981 ms 0.0514 ms 1.00 500.0000 500.0000 500.0000 4.02 MB 1.00
Xlsb 50000 10.735 ms 0.0976 ms 0.0253 ms 0.59 500.0000 500.0000 500.0000 4.02 MB 1.00
Xls 50000 6.434 ms 0.2452 ms 0.0637 ms 0.36 273.4375 273.4375 273.4375 4.03 MB 1.00
Csv 50000 7.226 ms 0.4084 ms 0.0632 ms 0.40 500.0000 500.0000 500.0000 4 MB 1.00
XlsxMapped 50000 20.856 ms 0.0916 ms 0.0238 ms 1.15 500.0000 500.0000 500.0000 4.02 MB 1.00
XlsbMapped 50000 11.545 ms 0.1102 ms 0.0286 ms 0.64 500.0000 500.0000 500.0000 4.02 MB 1.00
CsvMapped 50000 7.999 ms 0.0185 ms 0.0048 ms 0.44 500.0000 500.0000 500.0000 4 MB 1.00

ExcelReader.Benchmarks.StringHeavyReadBenchmark


BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 9V45 2.60GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.401
  [Host]     : .NET 10.0.12 (10.0.12, 10.0.1226.42308), X64 RyuJIT x86-64-v4
  Job-MEHJPP : .NET 10.0.12 (10.0.12, 10.0.1226.42308), X64 RyuJIT x86-64-v4

IterationCount=5  WarmupCount=1  

Method Rows Mean Error StdDev Ratio RatioSD Gen0 Gen1 Gen2 Allocated Alloc Ratio
Xlsx_ExcelReader 65536 54.46 ms 5.519 ms 1.433 ms 1.00 0.03 - - - 2.19 MB 1.00
Xlsx_ExcelReader_Prefetch 65536 37.78 ms 7.914 ms 2.055 ms 0.69 0.04 - - - 2.21 MB 1.01
Xlsx_Sylvan 65536 175.72 ms 13.990 ms 3.633 ms 3.23 0.10 666.6667 333.3333 - 17.41 MB 7.96
Xlsx_ExcelReader_Materialized 65536 79.66 ms 9.596 ms 1.485 ms 1.46 0.04 1000.0000 857.1429 285.7143 15.26 MB 6.97
Xlsx_ExcelReader_Materialized_Interned 65536 79.64 ms 1.432 ms 0.222 ms 1.46 0.04 1000.0000 857.1429 285.7143 15.27 MB 6.98
Xlsb_ExcelReader 65536 33.89 ms 3.230 ms 0.500 ms 0.62 0.02 - - - 2.19 MB 1.00
Xlsb_ExcelReader_Prefetch 65536 25.51 ms 0.579 ms 0.150 ms 0.47 0.01 - - - 2.31 MB 1.06
Xlsb_Sylvan 65536 63.04 ms 13.835 ms 3.593 ms 1.16 0.07 1000.0000 875.0000 250.0000 17.38 MB 7.94
Xlsb_ExcelReader_Materialized 65536 56.86 ms 4.079 ms 1.059 ms 1.04 0.03 1111.1111 1000.0000 333.3333 15.26 MB 6.97
Xlsb_ExcelReader_Materialized_Interned 65536 56.33 ms 4.260 ms 1.106 ms 1.03 0.03 1000.0000 875.0000 250.0000 15.26 MB 6.98
Xlsb_ExcelReader_Memory 65536 33.98 ms 0.638 ms 0.166 ms 0.62 0.02 - - - 6.47 MB 2.95

ExcelReader.Benchmarks.WriteBenchmark


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

IterationCount=5  WarmupCount=1  

Method Rows Mean Error StdDev Ratio RatioSD Gen0 Gen1 Gen2 Allocated Alloc Ratio
ExcelReaderWriter 50000 17.269 ms 0.1622 ms 0.0251 ms 1.00 0.00 500.0000 500.0000 500.0000 4.02 MB 1.00
ExcelReaderWriterSharedStrings 50000 17.203 ms 0.0920 ms 0.0239 ms 1.00 0.00 500.0000 500.0000 500.0000 4.06 MB 1.01
ExcelReaderWriterPrefetch 50000 14.808 ms 0.6934 ms 0.1073 ms 0.86 0.01 484.3750 484.3750 484.3750 4.03 MB 1.00
ExcelReaderXlsbWriter 50000 10.802 ms 0.4481 ms 0.0693 ms 0.63 0.00 500.0000 500.0000 500.0000 4.02 MB 1.00
ExcelReaderXlsbWriterSharedStrings 50000 10.442 ms 1.7614 ms 0.4574 ms 0.60 0.02 500.0000 500.0000 500.0000 4.06 MB 1.01
ExcelReaderXlsbWriterPrefetch 50000 8.981 ms 0.6658 ms 0.1729 ms 0.52 0.01 484.3750 484.3750 484.3750 4.03 MB 1.00
MiniExcel 50000 99.613 ms 7.6413 ms 1.9844 ms 5.77 0.11 5200.0000 1200.0000 1200.0000 84.89 MB 21.11
SpreadCheetah 50000 21.091 ms 0.2901 ms 0.0753 ms 1.22 0.00 1437.5000 718.7500 718.7500 15.84 MB 3.94

ExcelReader.Benchmarks.WritePathBenchmark


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

IterationCount=5  WarmupCount=1  

Method Mean Error StdDev Allocated
NativeStrings_Xlsx 27.827 ms 0.0438 ms 0.0114 ms 18264 B
NativeStrings_Csv 7.495 ms 0.0657 ms 0.0102 ms 416 B
ArrowStrings_Xlsx 35.903 ms 0.1817 ms 0.0281 ms 18312 B
StyledRows_Xlsx 9.979 ms 0.1098 ms 0.0170 ms 18448 B

ExcelReader.Benchmarks.XlsReadBenchmark


BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 7763 2.78GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.401
  [Host]     : .NET 10.0.12 (10.0.12, 10.0.1226.42308), X64 RyuJIT x86-64-v3
  Job-MEHJPP : .NET 10.0.12 (10.0.12, 10.0.1226.42308), X64 RyuJIT x86-64-v3

IterationCount=5  WarmupCount=1  

Method Rows Mean Error StdDev Ratio Gen0 Gen1 Allocated Alloc Ratio
ExcelReader 50000 4.821 ms 0.0270 ms 0.0042 ms 1.00 - - 2.45 KB 1.00
ExcelReaderAsync 50000 5.049 ms 0.0144 ms 0.0022 ms 1.05 - - 2.52 KB 1.03
Sylvan 50000 8.671 ms 0.0438 ms 0.0068 ms 1.80 93.7500 15.6250 1717.73 KB 700.22

ExcelReader.Benchmarks.XlsWriteBenchmark


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

IterationCount=5  WarmupCount=1  

Method Rows Mean Error StdDev Ratio Gen0 Gen1 Gen2 Allocated Alloc Ratio
XlsWriter 50000 6.499 ms 0.0678 ms 0.0176 ms 1.00 492.1875 492.1875 492.1875 16.03 MB 1.00
XlsxWriter 50000 17.118 ms 0.1269 ms 0.0196 ms 2.63 500.0000 500.0000 500.0000 4.02 MB 0.25

@GabrielMarquezMatte
GabrielMarquezMatte merged commit f2e4035 into develop Sep 23, 2026
29 checks passed
@dependabot
dependabot Bot deleted the dependabot/nuget/develop/analyzers-4c74495f42 branch September 23, 2026 20:39
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.

1 participant