Skip to content

Commit 9fd6193

Browse files
authored
Expand benchmark to three runtimes (#8)
1 parent d2693ba commit 9fd6193

16 files changed

Lines changed: 274 additions & 135 deletions

‎README.es.md‎

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -114,14 +114,18 @@ Consulta la [matriz de compatibilidad](docs/compatibility.md), el [contrato de a
114114

115115
### Últimos Resultados NuGet
116116

117-
La última prueba Windows x64 comparó `MiniExcel 1.46.0` con `MiniExcel.Rust 0.1.0-preview.1`
118-
sobre 100.000 filas x 10 columnas, usando cinco procesos nuevos por runtime y escenario. Antes de
119-
medir se verificaron todas las filas, columnas y valores normalizados.
120-
121-
| Escenario | MiniExcel | MiniExcel.Rust | Aceleración Rust | Reducción asignaciones | Reducción working set |
122-
| --- | ---: | ---: | ---: | ---: | ---: |
123-
| Cold | 2.052,91 ms | 1.278,59 ms | 1,61x | 88,6 % | 4,6 % |
124-
| Steady | 4.635,98 ms | 3.380,16 ms | 1,37x | 88,6 % | 10,1 % |
117+
La última prueba Windows x64 comparó `MiniExcel 1.46.0`, el wrapper .NET
118+
`MiniExcel.Rust 0.1.0-preview.1` y `MiniExcel Rust 0.4.0` nativo sobre 100.000 filas x 10 columnas,
119+
con cinco procesos nuevos por runtime y escenario. Todos los valores se verificaron antes de medir.
120+
121+
| Escenario | Runtime | Mediana | Filas/s | Primera fila | Asignación administrada | Peak working set |
122+
| --- | --- | ---: | ---: | ---: | ---: | ---: |
123+
| Cold | MiniExcel | 2.598,50 ms | 38.484 | 1.051,97 ms | 2.541,93 MB | 50,93 MB |
124+
| Cold | MiniExcel.Rust (.NET) | 1.899,42 ms | 52.648 | 450,85 ms | 289,36 MB | 49,64 MB |
125+
| Cold | MiniExcel.Rust | 1.220,82 ms | 81.912 | 537,17 ms | n/a | 4,14 MB |
126+
| Steady | MiniExcel | 5.997,76 ms | 50.019 | 616,40 ms | 7.625,15 MB | 52,80 MB |
127+
| Steady | MiniExcel.Rust (.NET) | 4.202,10 ms | 71.393 | 442,59 ms | 868,05 MB | 48,79 MB |
128+
| Steady | MiniExcel.Rust | 3.344,20 ms | 89.708 | 467,30 ms | n/a | 4,20 MB |
125129

126130
Los resultados dependen de la máquina. Ejecuta `pwsh ./scripts/compare-nuget-v1-rust.ps1`
127131
con workbooks representativos; consulta la [metodología](docs/dotnet-v1-query-benchmark.md).

‎README.fr.md‎

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -114,14 +114,18 @@ Voir la [matrice de compatibilité](docs/compatibility.md), le [contrat analyse/
114114

115115
### Derniers Résultats NuGet
116116

117-
Le dernier test Windows x64 compare `MiniExcel 1.46.0` et `MiniExcel.Rust 0.1.0-preview.1`
118-
sur 100 000 lignes x 10 colonnes, avec cinq processus neufs par runtime et scénario. Toutes les
119-
lignes, colonnes et valeurs normalisées sont vérifiées avant la mesure.
120-
121-
| Scénario | MiniExcel | MiniExcel.Rust | Accélération Rust | Réduction allocations | Réduction working set |
122-
| --- | ---: | ---: | ---: | ---: | ---: |
123-
| Cold | 2 052,91 ms | 1 278,59 ms | 1,61x | 88,6 % | 4,6 % |
124-
| Steady | 4 635,98 ms | 3 380,16 ms | 1,37x | 88,6 % | 10,1 % |
117+
Le dernier test Windows x64 compare `MiniExcel 1.46.0`, le wrapper .NET
118+
`MiniExcel.Rust 0.1.0-preview.1` et `MiniExcel Rust 0.4.0` natif sur 100 000 lignes x 10 colonnes,
119+
avec cinq processus neufs par runtime et scénario. Toutes les valeurs sont vérifiées avant la mesure.
120+
121+
| Scénario | Runtime | Temps médian | Lignes/s | Première ligne | Allocation managée | Working set maximal |
122+
| --- | --- | ---: | ---: | ---: | ---: | ---: |
123+
| Cold | MiniExcel | 2 598,50 ms | 38 484 | 1 051,97 ms | 2 541,93 MB | 50,93 MB |
124+
| Cold | MiniExcel.Rust (.NET) | 1 899,42 ms | 52 648 | 450,85 ms | 289,36 MB | 49,64 MB |
125+
| Cold | MiniExcel.Rust | 1 220,82 ms | 81 912 | 537,17 ms | n/a | 4,14 MB |
126+
| Steady | MiniExcel | 5 997,76 ms | 50 019 | 616,40 ms | 7 625,15 MB | 52,80 MB |
127+
| Steady | MiniExcel.Rust (.NET) | 4 202,10 ms | 71 393 | 442,59 ms | 868,05 MB | 48,79 MB |
128+
| Steady | MiniExcel.Rust | 3 344,20 ms | 89 708 | 467,30 ms | n/a | 4,20 MB |
125129

126130
Les résultats dépendent de la machine. Relancez `pwsh ./scripts/compare-nuget-v1-rust.ps1`
127131
sur des workbooks représentatifs ; voir la [méthodologie](docs/dotnet-v1-query-benchmark.md).

‎README.ja.md‎

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -113,14 +113,18 @@ MiniExcel::save_as("book.xlsx", &[row])?;
113113

114114
### 最新 NuGet 結果
115115

116-
最新の Windows x64 テストでは、100,000 行 x 10 列の workbook で `MiniExcel 1.46.0` と
117-
`MiniExcel.Rust 0.1.0-preview.1` を比較し、runtime とシナリオごとに 5 個の新規 process を使用しました。
118-
計測前に全行・全列・正規化した値の一致を確認しています。
119-
120-
| シナリオ | MiniExcel | MiniExcel.Rust | Rust 高速化 | Allocation 削減 | Working set 削減 |
121-
| --- | ---: | ---: | ---: | ---: | ---: |
122-
| Cold | 2,052.91 ms | 1,278.59 ms | 1.61x | 88.6% | 4.6% |
123-
| Steady | 4,635.98 ms | 3,380.16 ms | 1.37x | 88.6% | 10.1% |
116+
最新の Windows x64 テストでは、100,000 行 x 10 列の workbook で `MiniExcel 1.46.0`、
117+
.NET wrapper `MiniExcel.Rust 0.1.0-preview.1`、native `MiniExcel Rust 0.4.0` を比較しました。
118+
runtime とシナリオごとに 5 個の新規 process を使用し、計測前にすべての値を検証しています。
119+
120+
| シナリオ | Runtime | 中央値 | 行/秒 | 最初の行 | Managed allocation | Peak working set |
121+
| --- | --- | ---: | ---: | ---: | ---: | ---: |
122+
| Cold | MiniExcel | 2,598.50 ms | 38,484 | 1,051.97 ms | 2,541.93 MB | 50.93 MB |
123+
| Cold | MiniExcel.Rust (.NET) | 1,899.42 ms | 52,648 | 450.85 ms | 289.36 MB | 49.64 MB |
124+
| Cold | MiniExcel.Rust | 1,220.82 ms | 81,912 | 537.17 ms | n/a | 4.14 MB |
125+
| Steady | MiniExcel | 5,997.76 ms | 50,019 | 616.40 ms | 7,625.15 MB | 52.80 MB |
126+
| Steady | MiniExcel.Rust (.NET) | 4,202.10 ms | 71,393 | 442.59 ms | 868.05 MB | 48.79 MB |
127+
| Steady | MiniExcel.Rust | 3,344.20 ms | 89,708 | 467.30 ms | n/a | 4.20 MB |
124128

125129
結果はマシンに依存します。代表的な workbook で `pwsh ./scripts/compare-nuget-v1-rust.ps1` を実行し、
126130
[測定方法](docs/dotnet-v1-query-benchmark.md)を参照してください。

‎README.md‎

Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -114,14 +114,19 @@ See the [compatibility matrix](docs/compatibility.md), [analytics and RAG contra
114114

115115
### Latest NuGet Results
116116

117-
The latest Windows x64 run compared public `MiniExcel 1.46.0` with
118-
`MiniExcel.Rust 0.1.0-preview.1` over 100,000 rows x 10 columns, using five fresh processes per
119-
runtime and scenario. Every row, column, and normalized value matched before timing.
120-
121-
| Scenario | MiniExcel | MiniExcel.Rust | Rust speedup | Allocation reduction | Working-set reduction |
122-
| --- | ---: | ---: | ---: | ---: | ---: |
123-
| Cold | 2,052.91 ms | 1,278.59 ms | 1.61x | 88.6% | 4.6% |
124-
| Steady | 4,635.98 ms | 3,380.16 ms | 1.37x | 88.6% | 10.1% |
117+
The latest Windows x64 run compared public `MiniExcel 1.46.0`, the
118+
`MiniExcel.Rust 0.1.0-preview.1` .NET wrapper, and native `MiniExcel Rust 0.4.0` over 100,000 rows
119+
x 10 columns, using five fresh processes per runtime and scenario. Every row, column, and
120+
normalized value matched before timing.
121+
122+
| Scenario | Runtime | Median elapsed | Rows/s | First row | Managed allocation | Peak working set |
123+
| --- | --- | ---: | ---: | ---: | ---: | ---: |
124+
| Cold | MiniExcel | 2,598.50 ms | 38,484 | 1,051.97 ms | 2,541.93 MB | 50.93 MB |
125+
| Cold | MiniExcel.Rust (.NET) | 1,899.42 ms | 52,648 | 450.85 ms | 289.36 MB | 49.64 MB |
126+
| Cold | MiniExcel.Rust | 1,220.82 ms | 81,912 | 537.17 ms | n/a | 4.14 MB |
127+
| Steady | MiniExcel | 5,997.76 ms | 50,019 | 616.40 ms | 7,625.15 MB | 52.80 MB |
128+
| Steady | MiniExcel.Rust (.NET) | 4,202.10 ms | 71,393 | 442.59 ms | 868.05 MB | 48.79 MB |
129+
| Steady | MiniExcel.Rust | 3,344.20 ms | 89,708 | 467.30 ms | n/a | 4.20 MB |
125130

126131
Results are machine-specific. Run `pwsh ./scripts/compare-nuget-v1-rust.ps1` on representative
127132
workbooks; see the [benchmark methodology](docs/dotnet-v1-query-benchmark.md).

‎README.zh-CN.md‎

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -112,13 +112,18 @@ MiniExcel::save_as("book.xlsx", &[row])?;
112112

113113
### 最新 NuGet 结果
114114

115-
最新 Windows x64 测试使用 100,000 行 x 10 列工作簿,对比公开的 `MiniExcel 1.46.0` 与
116-
`MiniExcel.Rust 0.1.0-preview.1`;每个 runtime、每个场景运行 5 个独立进程。计时前已逐行、逐列、逐值验证一致。
117-
118-
| 场景 | MiniExcel | MiniExcel.Rust | Rust 加速 | 分配内存降低 | 工作集降低 |
119-
| --- | ---: | ---: | ---: | ---: | ---: |
120-
| Cold | 2,052.91 ms | 1,278.59 ms | 1.61x | 88.6% | 4.6% |
121-
| Steady | 4,635.98 ms | 3,380.16 ms | 1.37x | 88.6% | 10.1% |
115+
最新 Windows x64 测试使用 100,000 行 x 10 列工作簿,对比公开的 `MiniExcel 1.46.0`、
116+
`.NET` 包装器 `MiniExcel.Rust 0.1.0-preview.1` 与原生 `MiniExcel Rust 0.4.0`;每个 runtime、
117+
每个场景运行 5 个独立进程。计时前已逐行、逐列、逐值验证一致。
118+
119+
| 场景 | Runtime | 耗时中位数 | 行/秒 | 首行延迟 | 托管分配 | 峰值工作集 |
120+
| --- | --- | ---: | ---: | ---: | ---: | ---: |
121+
| Cold | MiniExcel | 2,598.50 ms | 38,484 | 1,051.97 ms | 2,541.93 MB | 50.93 MB |
122+
| Cold | MiniExcel.Rust (.NET) | 1,899.42 ms | 52,648 | 450.85 ms | 289.36 MB | 49.64 MB |
123+
| Cold | MiniExcel.Rust | 1,220.82 ms | 81,912 | 537.17 ms | 不适用 | 4.14 MB |
124+
| Steady | MiniExcel | 5,997.76 ms | 50,019 | 616.40 ms | 7,625.15 MB | 52.80 MB |
125+
| Steady | MiniExcel.Rust (.NET) | 4,202.10 ms | 71,393 | 442.59 ms | 868.05 MB | 48.79 MB |
126+
| Steady | MiniExcel.Rust | 3,344.20 ms | 89,708 | 467.30 ms | 不适用 | 4.20 MB |
122127

123128
结果与机器和工作簿相关。请用 `pwsh ./scripts/compare-nuget-v1-rust.ps1` 在代表性工作簿上复测;
124129
详见[测试方法](docs/dotnet-v1-query-benchmark.zh-CN.md)。

‎README.zh-TW.md‎

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -112,13 +112,18 @@ MiniExcel::save_as("book.xlsx", &[row])?;
112112

113113
### 最新 NuGet 結果
114114

115-
最新 Windows x64 測試使用 100,000 列 x 10 欄 workbook,比較公開的 `MiniExcel 1.46.0` 與
116-
`MiniExcel.Rust 0.1.0-preview.1`;每個 runtime、每個場景執行 5 個獨立 process。計時前已逐列、逐欄、逐值驗證一致。
117-
118-
| 場景 | MiniExcel | MiniExcel.Rust | Rust 加速 | 配置記憶體降低 | Working set 降低 |
119-
| --- | ---: | ---: | ---: | ---: | ---: |
120-
| Cold | 2,052.91 ms | 1,278.59 ms | 1.61x | 88.6% | 4.6% |
121-
| Steady | 4,635.98 ms | 3,380.16 ms | 1.37x | 88.6% | 10.1% |
115+
最新 Windows x64 測試使用 100,000 列 x 10 欄 workbook,比較公開的 `MiniExcel 1.46.0`、
116+
`.NET` 包裝器 `MiniExcel.Rust 0.1.0-preview.1` 與原生 `MiniExcel Rust 0.4.0`;每個 runtime、
117+
每個場景執行 5 個獨立 process。計時前已逐列、逐欄、逐值驗證一致。
118+
119+
| 場景 | Runtime | 耗時中位數 | 列/秒 | 首列延遲 | Managed allocation | Peak working set |
120+
| --- | --- | ---: | ---: | ---: | ---: | ---: |
121+
| Cold | MiniExcel | 2,598.50 ms | 38,484 | 1,051.97 ms | 2,541.93 MB | 50.93 MB |
122+
| Cold | MiniExcel.Rust (.NET) | 1,899.42 ms | 52,648 | 450.85 ms | 289.36 MB | 49.64 MB |
123+
| Cold | MiniExcel.Rust | 1,220.82 ms | 81,912 | 537.17 ms | 不適用 | 4.14 MB |
124+
| Steady | MiniExcel | 5,997.76 ms | 50,019 | 616.40 ms | 7,625.15 MB | 52.80 MB |
125+
| Steady | MiniExcel.Rust (.NET) | 4,202.10 ms | 71,393 | 442.59 ms | 868.05 MB | 48.79 MB |
126+
| Steady | MiniExcel.Rust | 3,344.20 ms | 89,708 | 467.30 ms | 不適用 | 4.20 MB |
122127

123128
結果會受機器與 workbook 影響。請用 `pwsh ./scripts/compare-nuget-v1-rust.ps1` 在代表性 workbook 上重測;
124129
詳見[測試方法](docs/dotnet-v1-query-benchmark.md)。

‎benchmarks/nuget-v1-query/Program.cs‎

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
"generate" => Generate(args),
1616
"verify" => Verify(args),
1717
"managed" => Benchmark(args, useRust: false),
18-
"rust" => Benchmark(args, useRust: true),
18+
"rust-dotnet" => Benchmark(args, useRust: true),
1919
_ => Usage()
2020
};
2121

@@ -90,7 +90,7 @@ static int Benchmark(string[] arguments, bool useRust)
9090
stopwatch.Stop();
9191

9292
Console.WriteLine(JsonSerializer.Serialize(new BenchmarkResult(
93-
useRust ? "MiniExcel.Rust" : "MiniExcel",
93+
useRust ? "MiniExcel.Rust (.NET)" : "MiniExcel",
9494
Environment.Version.ToString(),
9595
measuredPasses,
9696
rows,
@@ -222,7 +222,7 @@ static int Usage()
222222
Console.Error.WriteLine("Usage:");
223223
Console.Error.WriteLine(" NuGetV1Query generate <xlsx-path> <rows> <columns>");
224224
Console.Error.WriteLine(" NuGetV1Query verify <xlsx-path>");
225-
Console.Error.WriteLine(" NuGetV1Query <managed|rust> <xlsx-path> [passes] [warmup-passes]");
225+
Console.Error.WriteLine(" NuGetV1Query <managed|rust-dotnet> <xlsx-path> [passes] [warmup-passes]");
226226
return 2;
227227
}
228228

‎docs/dotnet-v1-query-benchmark.md‎

Lines changed: 14 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -20,10 +20,10 @@ pwsh ./scripts/compare-nuget-v1-rust.ps1
2020
```
2121

2222
This 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

2929
Use `-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

3535
The 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

‎docs/dotnet-v1-query-benchmark.zh-CN.md‎

Lines changed: 14 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -20,9 +20,10 @@ pwsh ./scripts/compare-nuget-v1-rust.ps1
2020
```
2121

2222
该脚本先构建本地 `MiniExcel.Rust` 包,自动解析 NuGet 上最新的稳定 MiniExcel v1,再创建隔离的
23-
`net8.0` 消费者并对比 `MiniExcel.Query` 与 `MiniExcelRust.Query`。计时前会逐行、逐列、
24-
逐值验证结果;Cold 与 Steady 场景使用交替的新进程执行,并将 Query 耗时、首行延迟、托管分配、
25-
峰值工作集与峰值私有内存写入 `target/benchmarks/nuget-v1/benchmark-<rid>.{json,md}`。
23+
`net8.0` 消费者,并对比 `MiniExcel.Query`、`MiniExcelRust.Query` 与原生 `MiniExcel::query`。
24+
计时前会在三条路径间逐行、逐列、逐值验证结果;Cold 与 Steady 场景使用轮换的新进程执行,
25+
并将 Query 耗时、首行延迟、适用时的托管分配、峰值工作集与峰值私有内存写入
26+
`target/benchmarks/nuget-v1/benchmark-<rid>.{json,md}`。
2627

2728
可通过 `-Rows`、`-Columns`、`-Iterations`、`-Passes` 和 `-WarmupPasses` 调整压力。
2829
GitHub 的 `NuGet Benchmark` workflow 会在 Windows、Linux、macOS 的 x64 与 Arm64 环境运行同一套测试。
@@ -31,12 +32,17 @@ GitHub 的 `NuGet Benchmark` workflow 会在 Windows、Linux、macOS 的 x64 与
3132
#### 最新 NuGet 结果
3233

3334
2026-09-10 的 Windows x64 测试使用 100,000 行 x 10 列工作簿,每个 runtime、每个场景运行
34-
5 个独立进程。`MiniExcel 1.46.0` 与 `MiniExcel.Rust 0.1.0-preview.1` 的所有规范化值完全一致。
35+
5 个独立进程。`MiniExcel 1.46.0`、通过 .NET 调用的 `MiniExcel.Rust 0.1.0-preview.1` 与原生
36+
`MiniExcel Rust 0.4.0` 的所有规范化值完全一致。
3537

36-
| 场景 | MiniExcel | MiniExcel.Rust | Rust 加速 | 分配内存降低 | 工作集降低 |
37-
| --- | ---: | ---: | ---: | ---: | ---: |
38-
| Cold | 2,052.91 ms | 1,278.59 ms | 1.61x | 88.6% | 4.6% |
39-
| Steady | 4,635.98 ms | 3,380.16 ms | 1.37x | 88.6% | 10.1% |
38+
| 场景 | Runtime | 耗时中位数 | 行/秒 | 首行延迟 | 托管分配 | 峰值工作集 |
39+
| --- | --- | ---: | ---: | ---: | ---: | ---: |
40+
| Cold | MiniExcel | 2,598.50 ms | 38,484 | 1,051.97 ms | 2,541.93 MB | 50.93 MB |
41+
| Cold | MiniExcel.Rust (.NET) | 1,899.42 ms | 52,648 | 450.85 ms | 289.36 MB | 49.64 MB |
42+
| Cold | MiniExcel.Rust | 1,220.82 ms | 81,912 | 537.17 ms | 不适用 | 4.14 MB |
43+
| Steady | MiniExcel | 5,997.76 ms | 50,019 | 616.40 ms | 7,625.15 MB | 52.80 MB |
44+
| Steady | MiniExcel.Rust (.NET) | 4,202.10 ms | 71,393 | 442.59 ms | 868.05 MB | 48.79 MB |
45+
| Steady | MiniExcel.Rust | 3,344.20 ms | 89,708 | 467.30 ms | 不适用 | 4.20 MB |
4046

4147
## 公平性控制
4248

‎docs/i18n/README.es.md‎

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -292,14 +292,18 @@ Consulta la [matriz de compatibilidad](../compatibility.md), el [contrato de an
292292

293293
### Últimos Resultados NuGet
294294

295-
La última prueba Windows x64 comparó `MiniExcel 1.46.0` con `MiniExcel.Rust 0.1.0-preview.1`
296-
sobre 100.000 filas x 10 columnas, usando cinco procesos nuevos por runtime y escenario. Antes de
297-
medir se verificaron todas las filas, columnas y valores normalizados.
298-
299-
| Escenario | MiniExcel | MiniExcel.Rust | Aceleración Rust | Reducción asignaciones | Reducción working set |
300-
| --- | ---: | ---: | ---: | ---: | ---: |
301-
| Cold | 2.052,91 ms | 1.278,59 ms | 1,61x | 88,6 % | 4,6 % |
302-
| Steady | 4.635,98 ms | 3.380,16 ms | 1,37x | 88,6 % | 10,1 % |
295+
La última prueba Windows x64 comparó `MiniExcel 1.46.0`, el wrapper .NET
296+
`MiniExcel.Rust 0.1.0-preview.1` y `MiniExcel Rust 0.4.0` nativo sobre 100.000 filas x 10 columnas,
297+
con cinco procesos nuevos por runtime y escenario. Todos los valores se verificaron antes de medir.
298+
299+
| Escenario | Runtime | Mediana | Filas/s | Primera fila | Asignación administrada | Peak working set |
300+
| --- | --- | ---: | ---: | ---: | ---: | ---: |
301+
| Cold | MiniExcel | 2.598,50 ms | 38.484 | 1.051,97 ms | 2.541,93 MB | 50,93 MB |
302+
| Cold | MiniExcel.Rust (.NET) | 1.899,42 ms | 52.648 | 450,85 ms | 289,36 MB | 49,64 MB |
303+
| Cold | MiniExcel.Rust | 1.220,82 ms | 81.912 | 537,17 ms | n/a | 4,14 MB |
304+
| Steady | MiniExcel | 5.997,76 ms | 50.019 | 616,40 ms | 7.625,15 MB | 52,80 MB |
305+
| Steady | MiniExcel.Rust (.NET) | 4.202,10 ms | 71.393 | 442,59 ms | 868,05 MB | 48,79 MB |
306+
| Steady | MiniExcel.Rust | 3.344,20 ms | 89.708 | 467,30 ms | n/a | 4,20 MB |
303307

304308
Los resultados dependen de la máquina. Ejecuta `pwsh ./scripts/compare-nuget-v1-rust.ps1`
305309
con workbooks representativos; consulta la [metodología](../dotnet-v1-query-benchmark.md).

0 commit comments

Comments
 (0)