Skip to content

Fixing docs - #94

Merged
GabrielMarquezMatte merged 2 commits into
masterfrom
develop
Aug 26, 2026
Merged

Fixing docs#94
GabrielMarquezMatte merged 2 commits into
masterfrom
develop

Conversation

@GabrielMarquezMatte

Copy link
Copy Markdown
Owner

No description provided.

@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 85.15%. Comparing base (b7eb616) to head (3f89b21).
❗ Your organization needs to install the Codecov GitHub app to enable full functionality.

Additional details and impacted files
@@            Coverage Diff             @@
##           master      #94      +/-   ##
==========================================
- Coverage   85.18%   85.15%   -0.03%     
==========================================
  Files         136      136              
  Lines       10041    10041              
  Branches     1868     1868              
==========================================
- Hits         8553     8550       -3     
- Misses       1157     1159       +2     
- Partials      331      332       +1     

☔ 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.

@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.

ExcelReader.Benchmarks.ColdStartBenchmark


BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.4 LTS (Noble Numbat)
Intel Xeon Platinum 8370C CPU 2.80GHz (Max: 2.79GHz), 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
  [Host]     : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
  Job-GOEFXF : .NET 10.0.11 (10.0.11, 10.0.1126.37416), 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 35.58 ms 1.340 ms 1.317 ms 28.38 KB
RecordWriteFirstUse 200 24.43 ms 1.736 ms 1.705 ms 84.27 KB
FluentParseFirstUse 200 32.32 ms 0.353 ms 0.347 ms 30.75 KB
FluentParseWithAttributeFallbackFirstUse 200 38.52 ms 0.416 ms 0.409 ms 32.45 KB

ExcelReader.Benchmarks.CsvParseBenchmark


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.400
  [Host]     : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
  Job-MEHJPP : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3

IterationCount=5  WarmupCount=1  

Method Rows Mean Error StdDev Ratio RatioSD Gen0 Gen1 Allocated Alloc Ratio
ExcelParserSync 50000 8.319 ms 0.0793 ms 0.0123 ms 1.00 0.00 234.3750 - 3.86 MB 1.00
ExcelParserAsync 50000 8.597 ms 0.3021 ms 0.0785 ms 1.03 0.01 234.3750 - 3.86 MB 1.00
Sep 50000 12.210 ms 0.0463 ms 0.0120 ms 1.47 0.00 234.3750 - 3.87 MB 1.00
Sylvan 50000 17.116 ms 0.0982 ms 0.0152 ms 2.06 0.00 656.2500 62.5000 10.95 MB 2.84
CsvHelperLib 50000 32.244 ms 0.5055 ms 0.1313 ms 3.88 0.02 875.0000 62.5000 14.41 MB 3.73

ExcelReader.Benchmarks.CsvReadBenchmark


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.400
  [Host]     : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
  Job-MEHJPP : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3

IterationCount=5  WarmupCount=1  

Method Rows Mean Error StdDev Ratio Gen0 Gen1 Allocated Alloc Ratio
ExcelReader 50000 5.522 ms 0.0114 ms 0.0029 ms 1.00 - - 352 B 1.00
ExcelReaderWide 50000 13.297 ms 0.0475 ms 0.0123 ms 2.41 - - 288 B 0.82
ExcelReaderAsync 50000 5.176 ms 0.0064 ms 0.0017 ms 0.94 - - 424 B 1.20
Sep 50000 12.123 ms 0.0316 ms 0.0082 ms 2.20 - - 4024 B 11.43
Sylvan 50000 6.137 ms 0.0293 ms 0.0076 ms 1.11 93.7500 7.8125 1688701 B 4,797.45
CsvHelperLib 50000 33.880 ms 0.0683 ms 0.0106 ms 6.14 866.6667 66.6667 15073424 B 42,822.23

ExcelReader.Benchmarks.CsvWriteBenchmark


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.400
  [Host]     : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
  Job-MEHJPP : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3

IterationCount=5  WarmupCount=1  

Method Rows Mean Error StdDev Ratio RatioSD Gen0 Gen1 Gen2 Allocated Alloc Ratio
ExcelReaderWriter 50000 9.876 ms 0.4151 ms 0.1078 ms 1.00 0.01 500.0000 500.0000 500.0000 4 MB 1.00
Sep 50000 10.303 ms 0.0494 ms 0.0128 ms 1.04 0.01 500.0000 500.0000 500.0000 4.01 MB 1.00
SylvanWriter 50000 10.749 ms 0.0992 ms 0.0258 ms 1.09 0.01 500.0000 500.0000 500.0000 4.04 MB 1.01
CsvHelperLib 50000 20.510 ms 0.4233 ms 0.0655 ms 2.08 0.02 1187.5000 656.2500 593.7500 13.79 MB 3.44

ExcelReader.Benchmarks.ParseBenchmark


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.400
  [Host]     : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
  Job-MEHJPP : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3

IterationCount=5  WarmupCount=1  

Method Rows Mean Error StdDev Ratio RatioSD Gen0 Allocated Alloc Ratio
ExcelParserSync 50000 27.08 ms 0.338 ms 0.052 ms 1.00 0.00 218.7500 3966.75 KB 1.000
ExcelParserSyncSharedStrings 50000 18.56 ms 0.120 ms 0.019 ms 0.69 0.00 125.0000 2357.23 KB 0.594
ExcelParserStructSync 50000 20.24 ms 0.042 ms 0.007 ms 0.75 0.00 93.7500 1623.02 KB 0.409
RefParserParseNamedSync 50000 18.32 ms 0.080 ms 0.021 ms 0.68 0.00 - 11.63 KB 0.003
ExcelParserAsync 50000 20.88 ms 0.082 ms 0.013 ms 0.77 0.00 218.7500 3968.9 KB 1.001
ExcelParserXlsbSync 50000 11.65 ms 0.179 ms 0.046 ms 0.43 0.00 234.3750 3968.84 KB 1.001
ExcelParserXlsbAsync 50000 11.22 ms 0.126 ms 0.033 ms 0.41 0.00 234.3750 3971.41 KB 1.001
MiniExcel 50000 219.41 ms 41.744 ms 10.841 ms 8.10 0.37 12000.0000 202527.9 KB 51.056
Sylvan 50000 83.36 ms 3.152 ms 0.819 ms 3.08 0.03 - 10726.71 KB 2.704
SylvanAsync 50000 89.87 ms 15.367 ms 3.991 ms 3.32 0.14 - 10727.74 KB 2.704

ExcelReader.Benchmarks.ReadBenchmark


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.400
  [Host]     : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
  Job-MEHJPP : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3

IterationCount=5  WarmupCount=1  

Method Rows Mean Error StdDev Ratio RatioSD Gen0 Allocated Alloc Ratio
ExcelReader 50000 16.199 ms 0.0179 ms 0.0047 ms 1.00 0.00 - 11.13 KB 1.00
ExcelReaderAsync 50000 16.558 ms 0.1906 ms 0.0495 ms 1.02 0.00 - 13.26 KB 1.19
ExcelReaderXlsb 50000 6.860 ms 0.0423 ms 0.0065 ms 0.42 0.00 - 13.22 KB 1.19
ExcelReaderXlsbAsync 50000 7.099 ms 0.0147 ms 0.0023 ms 0.44 0.00 - 15.77 KB 1.42
ExcelReaderMaterialized 50000 18.002 ms 0.0361 ms 0.0094 ms 1.11 0.00 93.7500 1622.45 KB 145.84
MiniExcel 50000 207.405 ms 15.9863 ms 2.4739 ms 12.80 0.14 13000.0000 214012.34 KB 19,237.06
Sylvan 50000 53.846 ms 4.2254 ms 0.6539 ms 3.32 0.04 - 1939.48 KB 174.33

ExcelReader.Benchmarks.RealDataReadBenchmark


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.400
  [Host]     : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
  Job-MEHJPP : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3

IterationCount=5  WarmupCount=1  

Method Mean Error StdDev Ratio RatioSD Gen0 Gen1 Allocated Alloc Ratio
Xlsx_ExcelReader 93.927 ms 0.4576 ms 0.0708 ms 1.00 0.00 - - 18216 B 1.00
Xlsx_Sylvan 299.690 ms 1.3826 ms 0.2140 ms 3.19 0.00 - - 659992 B 36.23
Xlsx_ExcelReader_Materialized 98.306 ms 1.0852 ms 0.1679 ms 1.05 0.00 - - 27912 B 1.53
Xlsx_ExcelReader_Prefetch 66.268 ms 8.0690 ms 2.0955 ms 0.71 0.02 - - 38424 B 2.11
Xlsx_ExcelReader_Memory 93.900 ms 0.5233 ms 0.0810 ms 1.00 0.00 - - 7104 B 0.39
Xlsx_ExcelReader_Memory_Prefetch 66.958 ms 9.9032 ms 2.5718 ms 0.71 0.03 - - 27354 B 1.50
Xlsm_ExcelReader 95.166 ms 3.3189 ms 0.8619 ms 1.01 0.01 - - 18216 B 1.00
Xlsm_Sylvan 299.571 ms 10.0626 ms 2.6132 ms 3.19 0.03 - - 659648 B 36.21
Xlsm_ExcelReader_Materialized 97.342 ms 0.3918 ms 0.0606 ms 1.04 0.00 - - 27912 B 1.53
Xlsm_ExcelReader_Prefetch 68.243 ms 20.0956 ms 5.2188 ms 0.73 0.05 - - 38410 B 2.11
Xlsm_ExcelReader_Memory 94.361 ms 2.1486 ms 0.5580 ms 1.00 0.01 - - 7104 B 0.39
Xlsm_ExcelReader_Memory_Prefetch 64.636 ms 13.9679 ms 2.1616 ms 0.69 0.02 - - 27312 B 1.50
Xlsb_ExcelReader 37.981 ms 0.2172 ms 0.0336 ms 0.40 0.00 - - 19192 B 1.05
Xlsb_Sylvan 45.519 ms 0.0878 ms 0.0136 ms 0.48 0.00 - - 346675 B 19.03
Xlsb_ExcelReader_Materialized 40.272 ms 0.2355 ms 0.0364 ms 0.43 0.00 - - 28888 B 1.59
Xlsb_ExcelReader_Prefetch 23.010 ms 0.7788 ms 0.2023 ms 0.24 0.00 - - 43692 B 2.40
Xlsb_ExcelReader_Memory 37.593 ms 0.2178 ms 0.0337 ms 0.40 0.00 - - 8840 B 0.49
Xlsb_ExcelReader_Memory_Prefetch 23.340 ms 2.1925 ms 0.5694 ms 0.25 0.01 - - 29926 B 1.64
Xls_ExcelReader 21.441 ms 0.1119 ms 0.0173 ms 0.23 0.00 - - 12048 B 0.66
Xls_Sylvan 28.008 ms 0.2609 ms 0.0404 ms 0.30 0.00 - - 190366 B 10.45
Xls_ExcelReader_Materialized 24.850 ms 0.1179 ms 0.0306 ms 0.26 0.00 - - 21744 B 1.19
Xls_ExcelReader_Memory 15.106 ms 0.4435 ms 0.0686 ms 0.16 0.00 - - 12048 B 0.66
Csv_ExcelReader 8.687 ms 0.0250 ms 0.0039 ms 0.09 0.00 - - 288 B 0.02
Csv_Sylvan 18.196 ms 0.5694 ms 0.1479 ms 0.19 0.00 2218.7500 125.0000 37484040 B 2,057.75
Csv_ExcelReader_Materialized 31.592 ms 0.0668 ms 0.0103 ms 0.34 0.00 2187.5000 - 37442896 B 2,055.49
Csv_ExcelReader_Memory 8.336 ms 0.0596 ms 0.0155 ms 0.09 0.00 - - 224 B 0.01

ExcelReader.Benchmarks.RecordWriteBenchmark


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.400
  [Host]     : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
  Job-MEHJPP : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3

IterationCount=5  WarmupCount=1  

Method Rows Mean Error StdDev Ratio Gen0 Gen1 Gen2 Allocated Alloc Ratio
Xlsx 50000 27.132 ms 0.2941 ms 0.0764 ms 1.00 500.0000 500.0000 500.0000 4.02 MB 1.00
Xlsb 50000 10.591 ms 0.3995 ms 0.1038 ms 0.39 500.0000 500.0000 500.0000 4.02 MB 1.00
Xls 50000 7.918 ms 0.1250 ms 0.0194 ms 0.29 250.0000 250.0000 250.0000 4.03 MB 1.00
Csv 50000 11.057 ms 0.3838 ms 0.0997 ms 0.41 500.0000 500.0000 500.0000 4 MB 1.00

ExcelReader.Benchmarks.WriteBenchmark


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.400
  [Host]     : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
  Job-MEHJPP : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3

IterationCount=5  WarmupCount=1  

Method Rows Mean Error StdDev Ratio RatioSD Gen0 Gen1 Gen2 Allocated Alloc Ratio
ExcelReaderWriter 50000 24.445 ms 0.2015 ms 0.0523 ms 1.00 0.00 500.0000 500.0000 500.0000 4.02 MB 1.00
ExcelReaderWriterSharedStrings 50000 24.194 ms 0.4238 ms 0.1101 ms 0.99 0.00 500.0000 500.0000 500.0000 4.06 MB 1.01
ExcelReaderWriterPrefetch 50000 19.674 ms 1.7248 ms 0.4479 ms 0.80 0.02 468.7500 468.7500 468.7500 4.03 MB 1.00
ExcelReaderXlsbWriter 50000 9.839 ms 0.2115 ms 0.0549 ms 0.40 0.00 500.0000 500.0000 500.0000 4.02 MB 1.00
ExcelReaderXlsbWriterSharedStrings 50000 9.666 ms 0.3358 ms 0.0872 ms 0.40 0.00 500.0000 500.0000 500.0000 4.06 MB 1.01
ExcelReaderXlsbWriterPrefetch 50000 9.025 ms 0.5896 ms 0.1531 ms 0.37 0.01 484.3750 484.3750 484.3750 4.03 MB 1.00
MiniExcel 50000 103.242 ms 1.5402 ms 0.2383 ms 4.22 0.01 5000.0000 1000.0000 1000.0000 84.89 MB 21.11
SpreadCheetah 50000 21.408 ms 0.8756 ms 0.1355 ms 0.88 0.01 1437.5000 718.7500 718.7500 15.84 MB 3.94

ExcelReader.Benchmarks.XlsReadBenchmark


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.400
  [Host]     : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
  Job-MEHJPP : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3

IterationCount=5  WarmupCount=1  

Method Rows Mean Error StdDev Ratio Gen0 Gen1 Allocated Alloc Ratio
ExcelReader 50000 5.740 ms 0.0309 ms 0.0080 ms 1.00 - - 2.91 KB 1.00
ExcelReaderAsync 50000 5.781 ms 0.0909 ms 0.0236 ms 1.01 - - 2.98 KB 1.02
Sylvan 50000 8.122 ms 0.0634 ms 0.0098 ms 1.42 93.7500 15.6250 1717.73 KB 589.46

ExcelReader.Benchmarks.XlsWriteBenchmark


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.400
  [Host]     : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
  Job-MEHJPP : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3

IterationCount=5  WarmupCount=1  

Method Rows Mean Error StdDev Ratio RatioSD Gen0 Gen1 Gen2 Allocated Alloc Ratio
XlsWriter 50000 7.529 ms 0.2091 ms 0.0543 ms 1.00 0.01 492.1875 492.1875 492.1875 16.03 MB 1.00
XlsxWriter 50000 23.582 ms 0.1461 ms 0.0379 ms 3.13 0.02 500.0000 500.0000 500.0000 4.02 MB 0.25

@GabrielMarquezMatte
GabrielMarquezMatte merged commit 2c3bbe5 into master Aug 26, 2026
39 checks passed
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