Skip to content

Commit 6b62d14

Browse files
committed
update package version
1 parent 3a3ae94 commit 6b62d14

File tree

3 files changed

+33
-27
lines changed

3 files changed

+33
-27
lines changed

ExcelBattle.csproj

+5-5
Original file line numberDiff line numberDiff line change
@@ -8,11 +8,11 @@
88
</PropertyGroup>
99

1010
<ItemGroup>
11-
<PackageReference Include="BenchmarkDotNet" Version="0.13.10" />
12-
<PackageReference Include="Bogus" Version="34.0.2" />
13-
<PackageReference Include="ClosedXML" Version="0.102.1" />
14-
<PackageReference Include="DocumentFormat.OpenXml" Version="3.0.0" />
15-
<PackageReference Include="MiniExcel" Version="1.31.3" />
11+
<PackageReference Include="BenchmarkDotNet" Version="0.14.0" />
12+
<PackageReference Include="Bogus" Version="35.6.1" />
13+
<PackageReference Include="ClosedXML" Version="0.104.2" />
14+
<PackageReference Include="DocumentFormat.OpenXml" Version="3.2.0" />
15+
<PackageReference Include="MiniExcel" Version="1.36.0" />
1616
<PackageReference Include="NPOI" Version="2.6.2" />
1717
</ItemGroup>
1818

ExcelBenchmark.cs

+10-8
Original file line numberDiff line numberDiff line change
@@ -5,13 +5,15 @@
55
namespace ExcelBattle;
66

77
[MemoryDiagnoser]
8+
[ThreadingDiagnoser]
89
public class ExcelBenchmark
910
{
1011
private const string TemplateDir = "D:\\tmp\\";
1112
private static string GenerateOutputFileName() => $"{TemplateDir}\\{Guid.NewGuid()}.xlsx";
1213
private TemplateData _data = default!;
1314

14-
[Params(10, 1000, 100000)] public int TotalRow { get; set; }
15+
[Params(10, 1000, 100000)]
16+
public int TotalRow { get; set; }
1517

1618
[GlobalSetup]
1719
public void GlobalSetup()
@@ -37,15 +39,15 @@ public void GlobalCleanup()
3739
}
3840
}
3941

40-
[Benchmark]
42+
[Benchmark(Baseline = true)]
4143
public void UseNpoi()
4244
{
4345
var fileName = GenerateOutputFileName();
4446
NpoiExcelWriter.Write(_data, fileName);
4547
}
4648

4749
[Benchmark]
48-
public void UseCloseXML()
50+
public void UseCloseXml()
4951
{
5052
var fileName = GenerateOutputFileName();
5153
CloseXmlExcelWriter.Write(_data, fileName);
@@ -74,9 +76,9 @@ public static void WriteSamples()
7476

7577
sample.GlobalSetup();
7678

77-
//NpoiExcelWriter.Write(sample._data, $"{TemplateDir}\\ExportWithNpoi.xlsx");
78-
//CloseXmlExcelWriter.Write(sample._data, $"{TemplateDir}\\ExportWithCloseXML.xlsx");
79-
//MiniExcelWriter.Write(sample._data, $"{TemplateDir}\\ExportWithMiniExcel.xlsx");
80-
OpenXmlSdkWriter.Write(sample._data, $"{TemplateDir}\\ExportWithMiniExcel.xlsx");
79+
NpoiExcelWriter.Write(sample._data, $"{TemplateDir}\\ExportWithNpoi.xlsx");
80+
CloseXmlExcelWriter.Write(sample._data, $"{TemplateDir}\\ExportWithCloseXML.xlsx");
81+
MiniExcelWriter.Write(sample._data, $"{TemplateDir}\\ExportWithMiniExcel.xlsx");
82+
OpenXmlSdkWriter.Write(sample._data, $"{TemplateDir}\\ExportWithOpenXmlSdk.xlsx");
8183
}
82-
}
84+
}

README.md

+18-14
Original file line numberDiff line numberDiff line change
@@ -14,18 +14,22 @@ AMD Ryzen 7 5700X, 1 CPU, 16 logical and 8 physical cores
1414
1515
1616
```
17+
| Method | TotalRow | Mean | Error | StdDev | Gen0 | Gen1 | Gen2 | Allocated |
18+
|-------------- |--------- |-------------:|-----------:|-----------:|------------:|------------:|----------:|--------------:|
19+
| **UseNpoi** | **10** | **3.022 ms** | **0.0432 ms** | **0.0361 ms** | **132.8125** | **46.8750** | **-** | **2236.3 KB** |
20+
| UseCloseXML | 10 | NA | NA | NA | NA | NA | NA | NA |
21+
| UseMiniExcel | 10 | 1.931 ms | 0.0185 ms | 0.0155 ms | 85.9375 | 39.0625 | - | 1451.58 KB |
22+
| UseOpenXmlSdk | 10 | 1.818 ms | 0.0131 ms | 0.0116 ms | 39.0625 | 15.6250 | - | 653.21 KB |
23+
| **UseNpoi** | **1000** | **73.520 ms** | **0.9001 ms** | **0.7516 ms** | **3750.0000** | **2250.0000** | **1000.0000** | **52845.48 KB** |
24+
| UseCloseXML | 1000 | NA | NA | NA | NA | NA | NA | NA |
25+
| UseMiniExcel | 1000 | 77.499 ms | 0.5147 ms | 0.4814 ms | 4000.0000 | 3250.0000 | 750.0000 | 58898.42 KB |
26+
| UseOpenXmlSdk | 1000 | 32.490 ms | 0.1603 ms | 0.1500 ms | 1187.5000 | 1062.5000 | 500.0000 | 14144.92 KB |
27+
| **UseNpoi** | **100000** | **8,363.515 ms** | **27.8532 ms** | **23.2587 ms** | **263000.0000** | **109000.0000** | **4000.0000** | **4858617.91 KB** |
28+
| UseCloseXML | 100000 | NA | NA | NA | NA | NA | NA | NA |
29+
| UseMiniExcel | 100000 | 9,329.880 ms | 25.4404 ms | 22.5523 ms | 332000.0000 | 129000.0000 | 6000.0000 | 5790701.05 KB |
30+
| UseOpenXmlSdk | 100000 | 4,516.058 ms | 14.7478 ms | 13.7951 ms | 68000.0000 | 67000.0000 | 3000.0000 | 1405445.88 KB |
1731

18-
| Method | TotalRow | Mean | Error | StdDev | Gen0 | Gen1 | Gen2 | Allocated |
19-
|---------------|------------|-----------------:|----------------:|----------------:|----------------:|----------------:|--------------:|---------------:|
20-
| **UseNpoi** | **10** | **3.110 ms** | **0.0387 ms** | **0.0323 ms** | **132.8125** | **46.8750** | **-** | **2.19 MB** |
21-
| UseCloseXML | 10 | 4.116 ms | 0.0639 ms | 0.0534 ms | 125.0000 | 46.8750 | - | 2.12 MB |
22-
| UseMiniExcel | 10 | 2.148 ms | 0.0814 ms | 0.2321 ms | 85.9375 | 39.0625 | - | 1.41 MB |
23-
| UseOpenXmlSdk | 10 | 1.814 ms | 0.0243 ms | 0.0227 ms | 39.0625 | 15.6250 | - | 654.17 KB |
24-
| **UseNpoi** | **1000** | **74.539 ms** | **1.4679 ms** | **1.8565 ms** | **3750.0000** | **2250.0000** | **1000.0000** | **51.61 MB** |
25-
| UseCloseXML | 1000 | 73.053 ms | 0.9560 ms | 0.7983 ms | 3333.3333 | 666.6667 | 333.3333 | 57.25 MB |
26-
| UseMiniExcel | 1000 | 77.476 ms | 0.6052 ms | 0.4725 ms | 4000.0000 | 3250.0000 | 750.0000 | 57.53 MB |
27-
| UseOpenXmlSdk | 1000 | 32.876 ms | 0.1852 ms | 0.1732 ms | 1200.0000 | 1000.0000 | 500.0000 | 14238.25 KB |
28-
| **UseNpoi** | **100000** | **8,426.381 ms** | **110.1996 ms** | **103.0808 ms** | **263000.0000** | **109000.0000** | **4000.0000** | **4744.72 MB** |
29-
| UseCloseXML | 100000 | 6,871.576 ms | 45.4220 ms | 42.4878 ms | 310000.0000 | 54000.0000 | 3000.0000 | 5396.31 MB |
30-
| UseMiniExcel | 100000 | 9,683.731 ms | 22.4172 ms | 18.7194 ms | 332000.0000 | 129000.0000 | 6000.0000 | 5654.94 MB |
31-
| UseOpenXmlSdk | 100000 | 4,451.548 ms | 22.8764 ms | 20.2793 ms | 68000.0000 | 67000.0000 | 3000.0000 | 1414858.55 KB |
32+
Benchmarks with issues:
33+
ExcelBenchmark.UseCloseXML: DefaultJob [TotalRow=10]
34+
ExcelBenchmark.UseCloseXML: DefaultJob [TotalRow=1000]
35+
ExcelBenchmark.UseCloseXML: DefaultJob [TotalRow=100000]

0 commit comments

Comments
 (0)