@@ -20,10 +20,10 @@ pwsh ./scripts/compare-nuget-v1-rust.ps1
2020```
2121
2222This harness builds a local ` MiniExcel.Rust ` package, resolves the latest stable public MiniExcel v1
23- package, restores both into an isolated ` net8.0 ` consumer, and compares ` MiniExcel.Query ` with
24- ` MiniExcelRust.Query ` . Before timing, it verifies every row, column, and normalized value. Cold and
25- steady scenarios run in alternating fresh processes and report query time, first-row latency,
26- managed allocation, peak working set, and peak private memory to
23+ package, restores both into an isolated ` net8.0 ` consumer, and compares ` MiniExcel.Query ` ,
24+ ` MiniExcelRust.Query ` , and native ` MiniExcel::query ` . Before timing, it verifies every row, column,
25+ and normalized value across all three paths. Cold and steady scenarios run in rotating fresh
26+ processes and report query time, first-row latency, managed allocation where applicable , peak working set, and peak private memory to
2727` target/benchmarks/nuget-v1/benchmark-<rid>.{json,md} ` .
2828
2929Use ` -Rows ` , ` -Columns ` , ` -Iterations ` , ` -Passes ` , and ` -WarmupPasses ` to change the load. The
@@ -33,12 +33,17 @@ Arm64. Pass `-MiniExcelVersion 1.46.0` to pin a historical baseline for reproduc
3333#### Latest NuGet Result
3434
3535The 2026-09-10 Windows x64 run used 100,000 rows x 10 columns and five fresh processes per runtime
36- and scenario. ` MiniExcel 1.46.0 ` and ` MiniExcel.Rust 0.1.0-preview.1 ` matched every normalized value.
36+ and scenario. ` MiniExcel 1.46.0 ` , ` MiniExcel.Rust 0.1.0-preview.1 ` through .NET, and native
37+ ` MiniExcel Rust 0.4.0 ` matched every normalized value.
3738
38- | Scenario | MiniExcel | MiniExcel.Rust | Rust speedup | Allocation reduction | Working-set reduction |
39- | --- | ---: | ---: | ---: | ---: | ---: |
40- | Cold | 2,052.91 ms | 1,278.59 ms | 1.61x | 88.6% | 4.6% |
41- | Steady | 4,635.98 ms | 3,380.16 ms | 1.37x | 88.6% | 10.1% |
39+ | Scenario | Runtime | Median elapsed | Rows/s | First row | Managed allocation | Peak working set |
40+ | --- | --- | ---: | ---: | ---: | ---: | ---: |
41+ | Cold | MiniExcel | 2,598.50 ms | 38,484 | 1,051.97 ms | 2,541.93 MB | 50.93 MB |
42+ | Cold | MiniExcel.Rust (.NET) | 1,899.42 ms | 52,648 | 450.85 ms | 289.36 MB | 49.64 MB |
43+ | Cold | MiniExcel.Rust | 1,220.82 ms | 81,912 | 537.17 ms | n/a | 4.14 MB |
44+ | Steady | MiniExcel | 5,997.76 ms | 50,019 | 616.40 ms | 7,625.15 MB | 52.80 MB |
45+ | Steady | MiniExcel.Rust (.NET) | 4,202.10 ms | 71,393 | 442.59 ms | 868.05 MB | 48.79 MB |
46+ | Steady | MiniExcel.Rust | 3,344.20 ms | 89,708 | 467.30 ms | n/a | 4.20 MB |
4247
4348## Fairness Controls
4449
0 commit comments