diff --git a/README.es.md b/README.es.md index 771b76b..2bce0fd 100644 --- a/README.es.md +++ b/README.es.md @@ -112,6 +112,20 @@ Consulta la [matriz de compatibilidad](docs/compatibility.md), el [contrato de a ## Benchmark De Rust Y .NET +### Últimos Resultados NuGet + +La última prueba Windows x64 comparó `MiniExcel 1.46.0` con `MiniExcel.Rust 0.1.0-preview.1` +sobre 100.000 filas x 10 columnas, usando cinco procesos nuevos por runtime y escenario. Antes de +medir se verificaron todas las filas, columnas y valores normalizados. + +| Escenario | MiniExcel | MiniExcel.Rust | Aceleración Rust | Reducción asignaciones | Reducción working set | +| --- | ---: | ---: | ---: | ---: | ---: | +| Cold | 2.052,91 ms | 1.278,59 ms | 1,61x | 88,6 % | 4,6 % | +| Steady | 4.635,98 ms | 3.380,16 ms | 1,37x | 88,6 % | 10,1 % | + +Los resultados dependen de la máquina. Ejecuta `pwsh ./scripts/compare-nuget-v1-rust.ps1` +con workbooks representativos; consulta la [metodología](docs/dotnet-v1-query-benchmark.md). + Coloca este repositorio junto a [.NET MiniExcel](https://github.com/mini-software/MiniExcel) y ejecuta: ```powershell diff --git a/README.fr.md b/README.fr.md index 440b5a4..e599bec 100644 --- a/README.fr.md +++ b/README.fr.md @@ -112,6 +112,20 @@ Voir la [matrice de compatibilité](docs/compatibility.md), le [contrat analyse/ ## Benchmark Rust Et .NET +### Derniers Résultats NuGet + +Le dernier test Windows x64 compare `MiniExcel 1.46.0` et `MiniExcel.Rust 0.1.0-preview.1` +sur 100 000 lignes x 10 colonnes, avec cinq processus neufs par runtime et scénario. Toutes les +lignes, colonnes et valeurs normalisées sont vérifiées avant la mesure. + +| Scénario | MiniExcel | MiniExcel.Rust | Accélération Rust | Réduction allocations | Réduction working set | +| --- | ---: | ---: | ---: | ---: | ---: | +| Cold | 2 052,91 ms | 1 278,59 ms | 1,61x | 88,6 % | 4,6 % | +| Steady | 4 635,98 ms | 3 380,16 ms | 1,37x | 88,6 % | 10,1 % | + +Les résultats dépendent de la machine. Relancez `pwsh ./scripts/compare-nuget-v1-rust.ps1` +sur des workbooks représentatifs ; voir la [méthodologie](docs/dotnet-v1-query-benchmark.md). + Placez ce dépôt à côté de [.NET MiniExcel](https://github.com/mini-software/MiniExcel), puis exécutez : ```powershell diff --git a/README.ja.md b/README.ja.md index 11eb98e..1e5771b 100644 --- a/README.ja.md +++ b/README.ja.md @@ -111,6 +111,20 @@ MiniExcel::save_as("book.xlsx", &[row])?; ## Rust と .NET の Benchmark +### 最新 NuGet 結果 + +最新の Windows x64 テストでは、100,000 行 x 10 列の workbook で `MiniExcel 1.46.0` と +`MiniExcel.Rust 0.1.0-preview.1` を比較し、runtime とシナリオごとに 5 個の新規 process を使用しました。 +計測前に全行・全列・正規化した値の一致を確認しています。 + +| シナリオ | MiniExcel | MiniExcel.Rust | Rust 高速化 | Allocation 削減 | Working set 削減 | +| --- | ---: | ---: | ---: | ---: | ---: | +| Cold | 2,052.91 ms | 1,278.59 ms | 1.61x | 88.6% | 4.6% | +| Steady | 4,635.98 ms | 3,380.16 ms | 1.37x | 88.6% | 10.1% | + +結果はマシンに依存します。代表的な workbook で `pwsh ./scripts/compare-nuget-v1-rust.ps1` を実行し、 +[測定方法](docs/dotnet-v1-query-benchmark.md)を参照してください。 + このリポジトリを [.NET MiniExcel](https://github.com/mini-software/MiniExcel) と隣接配置して実行します。 ```powershell diff --git a/README.md b/README.md index ae322a1..8d93d9c 100644 --- a/README.md +++ b/README.md @@ -112,6 +112,20 @@ See the [compatibility matrix](docs/compatibility.md), [analytics and RAG contra ## Rust And .NET Benchmark +### Latest NuGet Results + +The latest Windows x64 run compared public `MiniExcel 1.46.0` with +`MiniExcel.Rust 0.1.0-preview.1` over 100,000 rows x 10 columns, using five fresh processes per +runtime and scenario. Every row, column, and normalized value matched before timing. + +| Scenario | MiniExcel | MiniExcel.Rust | Rust speedup | Allocation reduction | Working-set reduction | +| --- | ---: | ---: | ---: | ---: | ---: | +| Cold | 2,052.91 ms | 1,278.59 ms | 1.61x | 88.6% | 4.6% | +| Steady | 4,635.98 ms | 3,380.16 ms | 1.37x | 88.6% | 10.1% | + +Results are machine-specific. Run `pwsh ./scripts/compare-nuget-v1-rust.ps1` on representative +workbooks; see the [benchmark methodology](docs/dotnet-v1-query-benchmark.md). + Place this repository beside [.NET MiniExcel](https://github.com/mini-software/MiniExcel), then run: ```powershell diff --git a/README.zh-CN.md b/README.zh-CN.md index b7353bd..607ba2c 100644 --- a/README.zh-CN.md +++ b/README.zh-CN.md @@ -110,6 +110,19 @@ MiniExcel::save_as("book.xlsx", &[row])?; ## Rust 与 .NET 性能对比 +### 最新 NuGet 结果 + +最新 Windows x64 测试使用 100,000 行 x 10 列工作簿,对比公开的 `MiniExcel 1.46.0` 与 +`MiniExcel.Rust 0.1.0-preview.1`;每个 runtime、每个场景运行 5 个独立进程。计时前已逐行、逐列、逐值验证一致。 + +| 场景 | MiniExcel | MiniExcel.Rust | Rust 加速 | 分配内存降低 | 工作集降低 | +| --- | ---: | ---: | ---: | ---: | ---: | +| Cold | 2,052.91 ms | 1,278.59 ms | 1.61x | 88.6% | 4.6% | +| Steady | 4,635.98 ms | 3,380.16 ms | 1.37x | 88.6% | 10.1% | + +结果与机器和工作簿相关。请用 `pwsh ./scripts/compare-nuget-v1-rust.ps1` 在代表性工作簿上复测; +详见[测试方法](docs/dotnet-v1-query-benchmark.zh-CN.md)。 + 将本仓库与 [.NET MiniExcel](https://github.com/mini-software/MiniExcel) 放在同级目录后运行: ```powershell diff --git a/README.zh-TW.md b/README.zh-TW.md index fde399f..0765e44 100644 --- a/README.zh-TW.md +++ b/README.zh-TW.md @@ -110,6 +110,19 @@ MiniExcel::save_as("book.xlsx", &[row])?; ## Rust 與 .NET 效能比較 +### 最新 NuGet 結果 + +最新 Windows x64 測試使用 100,000 列 x 10 欄 workbook,比較公開的 `MiniExcel 1.46.0` 與 +`MiniExcel.Rust 0.1.0-preview.1`;每個 runtime、每個場景執行 5 個獨立 process。計時前已逐列、逐欄、逐值驗證一致。 + +| 場景 | MiniExcel | MiniExcel.Rust | Rust 加速 | 配置記憶體降低 | Working set 降低 | +| --- | ---: | ---: | ---: | ---: | ---: | +| Cold | 2,052.91 ms | 1,278.59 ms | 1.61x | 88.6% | 4.6% | +| Steady | 4,635.98 ms | 3,380.16 ms | 1.37x | 88.6% | 10.1% | + +結果會受機器與 workbook 影響。請用 `pwsh ./scripts/compare-nuget-v1-rust.ps1` 在代表性 workbook 上重測; +詳見[測試方法](docs/dotnet-v1-query-benchmark.md)。 + 將本儲存庫與 [.NET MiniExcel](https://github.com/mini-software/MiniExcel) 放在同層目錄後執行: ```powershell diff --git a/docs/dotnet-v1-query-benchmark.md b/docs/dotnet-v1-query-benchmark.md index 1df332f..38a91a6 100644 --- a/docs/dotnet-v1-query-benchmark.md +++ b/docs/dotnet-v1-query-benchmark.md @@ -30,6 +30,16 @@ Use `-Rows`, `-Columns`, `-Iterations`, `-Passes`, and `-WarmupPasses` to change `NuGet Benchmark` GitHub workflow runs the same harness on Windows, Linux, and macOS for x64 and Arm64. Pass `-MiniExcelVersion 1.46.0` to pin a historical baseline for reproducible comparisons. +#### Latest NuGet Result + +The 2026-09-10 Windows x64 run used 100,000 rows x 10 columns and five fresh processes per runtime +and scenario. `MiniExcel 1.46.0` and `MiniExcel.Rust 0.1.0-preview.1` matched every normalized value. + +| Scenario | MiniExcel | MiniExcel.Rust | Rust speedup | Allocation reduction | Working-set reduction | +| --- | ---: | ---: | ---: | ---: | ---: | +| Cold | 2,052.91 ms | 1,278.59 ms | 1.61x | 88.6% | 4.6% | +| Steady | 4,635.98 ms | 3,380.16 ms | 1.37x | 88.6% | 10.1% | + ## Fairness Controls - Both runners use Release builds, the same workbook, and equivalent public dynamic Query APIs. diff --git a/docs/dotnet-v1-query-benchmark.zh-CN.md b/docs/dotnet-v1-query-benchmark.zh-CN.md index a2b1dc0..03bd6a5 100644 --- a/docs/dotnet-v1-query-benchmark.zh-CN.md +++ b/docs/dotnet-v1-query-benchmark.zh-CN.md @@ -28,6 +28,16 @@ pwsh ./scripts/compare-nuget-v1-rust.ps1 GitHub 的 `NuGet Benchmark` workflow 会在 Windows、Linux、macOS 的 x64 与 Arm64 环境运行同一套测试。 如需复现历史结果,可传入 `-MiniExcelVersion 1.46.0` 固定基线版本。 +#### 最新 NuGet 结果 + +2026-09-10 的 Windows x64 测试使用 100,000 行 x 10 列工作簿,每个 runtime、每个场景运行 +5 个独立进程。`MiniExcel 1.46.0` 与 `MiniExcel.Rust 0.1.0-preview.1` 的所有规范化值完全一致。 + +| 场景 | MiniExcel | MiniExcel.Rust | Rust 加速 | 分配内存降低 | 工作集降低 | +| --- | ---: | ---: | ---: | ---: | ---: | +| Cold | 2,052.91 ms | 1,278.59 ms | 1.61x | 88.6% | 4.6% | +| Steady | 4,635.98 ms | 3,380.16 ms | 1.37x | 88.6% | 10.1% | + ## 公平性控制 - 两个 runner 都使用 Release 构建、同一份工作簿和语义等价的公开动态 Query API。 diff --git a/docs/i18n/README.es.md b/docs/i18n/README.es.md index e1a2c75..c9eec33 100644 --- a/docs/i18n/README.es.md +++ b/docs/i18n/README.es.md @@ -290,6 +290,20 @@ Consulta la [matriz de compatibilidad](../compatibility.md), el [contrato de an ## Benchmark De Rust Y .NET +### Últimos Resultados NuGet + +La última prueba Windows x64 comparó `MiniExcel 1.46.0` con `MiniExcel.Rust 0.1.0-preview.1` +sobre 100.000 filas x 10 columnas, usando cinco procesos nuevos por runtime y escenario. Antes de +medir se verificaron todas las filas, columnas y valores normalizados. + +| Escenario | MiniExcel | MiniExcel.Rust | Aceleración Rust | Reducción asignaciones | Reducción working set | +| --- | ---: | ---: | ---: | ---: | ---: | +| Cold | 2.052,91 ms | 1.278,59 ms | 1,61x | 88,6 % | 4,6 % | +| Steady | 4.635,98 ms | 3.380,16 ms | 1,37x | 88,6 % | 10,1 % | + +Los resultados dependen de la máquina. Ejecuta `pwsh ./scripts/compare-nuget-v1-rust.ps1` +con workbooks representativos; consulta la [metodología](../dotnet-v1-query-benchmark.md). + Coloca este repositorio junto a [.NET MiniExcel](https://github.com/mini-software/MiniExcel) y ejecuta: ```powershell diff --git a/docs/i18n/README.fr.md b/docs/i18n/README.fr.md index 66073d1..09c7a77 100644 --- a/docs/i18n/README.fr.md +++ b/docs/i18n/README.fr.md @@ -291,6 +291,20 @@ Voir la [matrice de compatibilité](../compatibility.md), le [contrat analyse/RA ## Benchmark Rust Et .NET +### Derniers Résultats NuGet + +Le dernier test Windows x64 compare `MiniExcel 1.46.0` et `MiniExcel.Rust 0.1.0-preview.1` +sur 100 000 lignes x 10 colonnes, avec cinq processus neufs par runtime et scénario. Toutes les +lignes, colonnes et valeurs normalisées sont vérifiées avant la mesure. + +| Scénario | MiniExcel | MiniExcel.Rust | Accélération Rust | Réduction allocations | Réduction working set | +| --- | ---: | ---: | ---: | ---: | ---: | +| Cold | 2 052,91 ms | 1 278,59 ms | 1,61x | 88,6 % | 4,6 % | +| Steady | 4 635,98 ms | 3 380,16 ms | 1,37x | 88,6 % | 10,1 % | + +Les résultats dépendent de la machine. Relancez `pwsh ./scripts/compare-nuget-v1-rust.ps1` +sur des workbooks représentatifs ; voir la [méthodologie](../dotnet-v1-query-benchmark.md). + Placez ce dépôt à côté de [.NET MiniExcel](https://github.com/mini-software/MiniExcel), puis exécutez : ```powershell diff --git a/docs/i18n/README.ja.md b/docs/i18n/README.ja.md index 21f3d8c..53e0515 100644 --- a/docs/i18n/README.ja.md +++ b/docs/i18n/README.ja.md @@ -286,6 +286,20 @@ Workbook editing、Template、formula、formatting に依存する前に、 ## Rust と .NET の Benchmark +### 最新 NuGet 結果 + +最新の Windows x64 テストでは、100,000 行 x 10 列の workbook で `MiniExcel 1.46.0` と +`MiniExcel.Rust 0.1.0-preview.1` を比較し、runtime とシナリオごとに 5 個の新規 process を使用しました。 +計測前に全行・全列・正規化した値の一致を確認しています。 + +| シナリオ | MiniExcel | MiniExcel.Rust | Rust 高速化 | Allocation 削減 | Working set 削減 | +| --- | ---: | ---: | ---: | ---: | ---: | +| Cold | 2,052.91 ms | 1,278.59 ms | 1.61x | 88.6% | 4.6% | +| Steady | 4,635.98 ms | 3,380.16 ms | 1.37x | 88.6% | 10.1% | + +結果はマシンに依存します。代表的な workbook で `pwsh ./scripts/compare-nuget-v1-rust.ps1` を実行し、 +[測定方法](../dotnet-v1-query-benchmark.md)を参照してください。 + このリポジトリを [.NET MiniExcel](https://github.com/mini-software/MiniExcel) と隣接配置して実行します。 ```powershell diff --git a/docs/i18n/README.zh-CN.md b/docs/i18n/README.zh-CN.md index d2e4697..8aaf335 100644 --- a/docs/i18n/README.zh-CN.md +++ b/docs/i18n/README.zh-CN.md @@ -280,6 +280,19 @@ cargo run -p miniexcel-cli -- rag-export book.xlsx --header --chunk-rows 25 --fo ## Rust 与 .NET 性能对比 +### 最新 NuGet 结果 + +最新 Windows x64 测试使用 100,000 行 x 10 列工作簿,对比公开的 `MiniExcel 1.46.0` 与 +`MiniExcel.Rust 0.1.0-preview.1`;每个 runtime、每个场景运行 5 个独立进程。计时前已逐行、逐列、逐值验证一致。 + +| 场景 | MiniExcel | MiniExcel.Rust | Rust 加速 | 分配内存降低 | 工作集降低 | +| --- | ---: | ---: | ---: | ---: | ---: | +| Cold | 2,052.91 ms | 1,278.59 ms | 1.61x | 88.6% | 4.6% | +| Steady | 4,635.98 ms | 3,380.16 ms | 1.37x | 88.6% | 10.1% | + +结果与机器和工作簿相关。请用 `pwsh ./scripts/compare-nuget-v1-rust.ps1` 在代表性工作簿上复测; +详见[测试方法](../dotnet-v1-query-benchmark.zh-CN.md)。 + 将本仓库与 [.NET MiniExcel](https://github.com/mini-software/MiniExcel) 放在同级目录后运行: ```powershell diff --git a/docs/i18n/README.zh-TW.md b/docs/i18n/README.zh-TW.md index 2a9a213..3b28249 100644 --- a/docs/i18n/README.zh-TW.md +++ b/docs/i18n/README.zh-TW.md @@ -280,6 +280,19 @@ Template、公式或格式功能前,請先在[相容性矩陣](../compatibilit ## Rust 與 .NET 效能比較 +### 最新 NuGet 結果 + +最新 Windows x64 測試使用 100,000 列 x 10 欄 workbook,比較公開的 `MiniExcel 1.46.0` 與 +`MiniExcel.Rust 0.1.0-preview.1`;每個 runtime、每個場景執行 5 個獨立 process。計時前已逐列、逐欄、逐值驗證一致。 + +| 場景 | MiniExcel | MiniExcel.Rust | Rust 加速 | 配置記憶體降低 | Working set 降低 | +| --- | ---: | ---: | ---: | ---: | ---: | +| Cold | 2,052.91 ms | 1,278.59 ms | 1.61x | 88.6% | 4.6% | +| Steady | 4,635.98 ms | 3,380.16 ms | 1.37x | 88.6% | 10.1% | + +結果會受機器與 workbook 影響。請用 `pwsh ./scripts/compare-nuget-v1-rust.ps1` 在代表性 workbook 上重測; +詳見[測試方法](../dotnet-v1-query-benchmark.md)。 + 將本儲存庫與 [.NET MiniExcel](https://github.com/mini-software/MiniExcel) 放在同層目錄後執行: ```powershell