Skip to content

Add MiniExcel NuGet stress benchmark - #6

Merged
shps951023 merged 1 commit into
mainfrom
perf/nuget-v1-stress-benchmark
Sep 9, 2026
Merged

Add MiniExcel NuGet stress benchmark#6
shps951023 merged 1 commit into
mainfrom
perf/nuget-v1-stress-benchmark

Conversation

@shps951023

Copy link
Copy Markdown
Member

Summary

  • add an isolated net8.0 benchmark runner that references public MiniExcel v1 and the locally packed MiniExcel.Rust NuGet
  • resolve the latest stable MiniExcel v1 from NuGet by default, with an exact-version override for reproducibility
  • validate every row, column, normalized value, and result hash before reporting timings
  • measure cold and steady query latency, first-row latency, managed allocations, peak working set, and peak private memory in alternating fresh processes
  • add a weekly/manual six-platform benchmark workflow and bilingual usage documentation

Validation

  • 1,000 x 10 smoke benchmark, two iterations, both scenarios
  • 100,000 x 10 stress benchmark, five iterations, both scenarios
  • all parity checks passed before timing
  • actionlint .github/workflows/nuget-benchmark.yml
  • VS Code diagnostics: no errors

Local 100,000 x 10 result

  • Cold median: MiniExcel 1983.10 ms; MiniExcel.Rust 1268.65 ms (1.56x)
  • Steady median: MiniExcel 4715.19 ms; MiniExcel.Rust 3350.55 ms (1.41x)
  • Managed allocation reduction: 88.6%

@coderabbitai

coderabbitai Bot commented Sep 9, 2026

Copy link
Copy Markdown

Warning

Review limit reached

Next included review available in 26 minutes.

Check out review usage here.

View limit details

Limit details: You’ve used the included review currently available.

This review ran on the open-source allowance, not this organization's plan, because the pull request author doesn't have an assigned seat. Waiting won't change this — ask an organization admin to assign them a seat, or add seats in Billing if every seat is already assigned, then retry.

Learn how review limits work.

Review configuration:

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Advanced

Run ID: 05569d14-4ea1-44fd-8a9e-82a5ccfd32ff

📥 Commits

Reviewing files that changed from the base of the PR and between 4dd6870 and 4167d8a.

📒 Files selected for processing (7)
  • .github/workflows/nuget-benchmark.yml
  • .gitignore
  • benchmarks/nuget-v1-query/NuGetV1Query.csproj
  • benchmarks/nuget-v1-query/Program.cs
  • docs/dotnet-v1-query-benchmark.md
  • docs/dotnet-v1-query-benchmark.zh-CN.md
  • scripts/compare-nuget-v1-rust.ps1

Comment @coderabbitai help to get the list of available commands.

@shps951023
shps951023 merged commit 4dc0cf7 into main Sep 9, 2026
27 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.

1 participant