Skip to content

Commit 018eb23

Browse files
committed
Prepare MiniExcel.Rust NuGet 0.1.0-preview.2
1 parent 28406ae commit 018eb23

19 files changed

Lines changed: 287 additions & 149 deletions

File tree

‎.github/workflows/nuget-release.yml‎

Lines changed: 16 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,9 @@ on:
77
workflow_dispatch:
88
inputs:
99
version:
10-
description: NuGet version, for example 0.1.0-preview.1
10+
description: NuGet version, for example 0.1.0-preview.2
1111
required: true
12-
default: 0.1.0-preview.1
12+
default: 0.1.0-preview.2
1313
type: string
1414
publish:
1515
description: Publish to NuGet.org after all package tests pass
@@ -227,9 +227,17 @@ jobs:
227227
if: github.event_name == 'push'
228228
env:
229229
GH_TOKEN: ${{ github.token }}
230-
run: >-
231-
gh release create '${{ github.ref_name }}'
232-
target/nuget/packages/*
233-
--verify-tag
234-
--generate-notes
235-
--title 'MiniExcel.Rust ${{ needs.prepare.outputs.version }}'
230+
GH_REPO: ${{ github.repository }}
231+
RELEASE_VERSION: ${{ needs.prepare.outputs.version }}
232+
run: |
233+
arguments=(
234+
'${{ github.ref_name }}'
235+
target/nuget/packages/*
236+
--verify-tag
237+
--generate-notes
238+
--title "MiniExcel.Rust $RELEASE_VERSION"
239+
)
240+
if [[ "$RELEASE_VERSION" == *-* ]]; then
241+
arguments+=(--prerelease)
242+
fi
243+
gh release create "${arguments[@]}"

‎README.es.md‎

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ v1 `1.46.0`, reutiliza sus tipos de configuración y mapping, y
5252
ejecuta mediante la biblioteca nativa de Rust las llamadas realizadas a `MiniExcelRust`.
5353

5454
```bash
55-
dotnet add package MiniExcel.Rust --prerelease
55+
dotnet add package MiniExcel.Rust --version 0.1.0-preview.2
5656
```
5757

5858
```csharp
@@ -115,17 +115,21 @@ Consulta la [matriz de compatibilidad](docs/compatibility.md), el [contrato de a
115115
### Últimos Resultados NuGet
116116

117117
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,
118+
`MiniExcel.Rust 0.1.0-preview.2` y `MiniExcel Rust 0.4.0` nativo sobre un workbook con dimension
119+
declarada de 100.000 filas x 10 columnas,
119120
con cinco procesos nuevos por runtime y escenario. Todos los valores se verificaron antes de medir.
120121

121122
| Escenario | Runtime | Mediana | Filas/s | Primera fila | Asignación administrada | Peak working set |
122123
| --- | --- | ---: | ---: | ---: | ---: | ---: |
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 |
124+
| Cold | MiniExcel | 2.145,90 ms | 46.600 | 38,77 ms | 1.167,07 MB | 51,26 MB |
125+
| Cold | MiniExcel.Rust (.NET) | 1.047,67 ms | 95.450 | 12,05 ms | 107,04 MB | 44,59 MB |
126+
| Cold | MiniExcel.Rust | 855,09 ms | 116.947 | 0,42 ms | n/a | 3,70 MB |
127+
| Steady | MiniExcel | 4.341,55 ms | 69.100 | 3,95 ms | 3.500,58 MB | 54,74 MB |
128+
| Steady | MiniExcel.Rust (.NET) | 2.972,94 ms | 100.910 | 5,50 ms | 321,09 MB | 48,08 MB |
129+
| Steady | MiniExcel.Rust | 2.143,31 ms | 139.970 | 0,41 ms | n/a | 3,79 MB |
130+
131+
Para una Query completa, preview.2 es 2,05 veces más rápido en Cold y 1,46 veces más rápido en
132+
Steady que MiniExcel v1, con un 90,8 % menos de asignación administrada en ambos escenarios.
129133

130134
Los resultados dependen de la máquina. Ejecuta `pwsh ./scripts/compare-nuget-v1-rust.ps1`
131135
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
@@ -52,7 +52,7 @@ MiniExcel v1 `1.46.0`, réutilise ses types de configuration et de
5252
mapping, et transmet les appels `MiniExcelRust` à la bibliothèque native Rust.
5353

5454
```bash
55-
dotnet add package MiniExcel.Rust --prerelease
55+
dotnet add package MiniExcel.Rust --version 0.1.0-preview.2
5656
```
5757

5858
```csharp
@@ -115,17 +115,21 @@ Voir la [matrice de compatibilité](docs/compatibility.md), le [contrat analyse/
115115
### Derniers Résultats NuGet
116116

117117
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,
118+
`MiniExcel.Rust 0.1.0-preview.2` et `MiniExcel Rust 0.4.0` natif sur un workbook avec dimension
119+
déclarée de 100 000 lignes x 10 colonnes,
119120
avec cinq processus neufs par runtime et scénario. Toutes les valeurs sont vérifiées avant la mesure.
120121

121122
| Scénario | Runtime | Temps médian | Lignes/s | Première ligne | Allocation managée | Working set maximal |
122123
| --- | --- | ---: | ---: | ---: | ---: | ---: |
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 |
124+
| Cold | MiniExcel | 2 145,90 ms | 46 600 | 38,77 ms | 1 167,07 MB | 51,26 MB |
125+
| Cold | MiniExcel.Rust (.NET) | 1 047,67 ms | 95 450 | 12,05 ms | 107,04 MB | 44,59 MB |
126+
| Cold | MiniExcel.Rust | 855,09 ms | 116 947 | 0,42 ms | n/a | 3,70 MB |
127+
| Steady | MiniExcel | 4 341,55 ms | 69 100 | 3,95 ms | 3 500,58 MB | 54,74 MB |
128+
| Steady | MiniExcel.Rust (.NET) | 2 972,94 ms | 100 910 | 5,50 ms | 321,09 MB | 48,08 MB |
129+
| Steady | MiniExcel.Rust | 2 143,31 ms | 139 970 | 0,41 ms | n/a | 3,79 MB |
130+
131+
Pour une Query complète, preview.2 est 2,05 fois plus rapide en Cold et 1,46 fois plus rapide en
132+
Steady que MiniExcel v1, avec 90,8 % d'allocation managée en moins dans les deux scénarios.
129133

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

‎README.ja.md‎

Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ v1 `1.46.0` に固定して依存し、その設定型と mapping 型を再利
5252
`MiniExcelRust` の呼び出しを Rust ネイティブライブラリで実行します。
5353

5454
```bash
55-
dotnet add package MiniExcel.Rust --prerelease
55+
dotnet add package MiniExcel.Rust --version 0.1.0-preview.2
5656
```
5757

5858
```csharp
@@ -113,18 +113,21 @@ MiniExcel::save_as("book.xlsx", &[row])?;
113113

114114
### 最新 NuGet 結果
115115

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` を比較しました。
116+
最新の Windows x64 テストでは、dimension を宣言した 100,000 行 x 10 列の workbook で
117+
`MiniExcel 1.46.0`、.NET wrapper `MiniExcel.Rust 0.1.0-preview.2`、native `MiniExcel Rust 0.4.0` を比較しました。
118118
runtime とシナリオごとに 5 個の新規 process を使用し、計測前にすべての値を検証しています。
119119

120120
| シナリオ | Runtime | 中央値 | 行/秒 | 最初の行 | Managed allocation | Peak working set |
121121
| --- | --- | ---: | ---: | ---: | ---: | ---: |
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 |
122+
| Cold | MiniExcel | 2,145.90 ms | 46,600 | 38.77 ms | 1,167.07 MB | 51.26 MB |
123+
| Cold | MiniExcel.Rust (.NET) | 1,047.67 ms | 95,450 | 12.05 ms | 107.04 MB | 44.59 MB |
124+
| Cold | MiniExcel.Rust | 855.09 ms | 116,947 | 0.42 ms | n/a | 3.70 MB |
125+
| Steady | MiniExcel | 4,341.55 ms | 69,100 | 3.95 ms | 3,500.58 MB | 54.74 MB |
126+
| Steady | MiniExcel.Rust (.NET) | 2,972.94 ms | 100,910 | 5.50 ms | 321.09 MB | 48.08 MB |
127+
| Steady | MiniExcel.Rust | 2,143.31 ms | 139,970 | 0.41 ms | n/a | 3.79 MB |
128+
129+
完全な Query では、preview.2 は MiniExcel v1 より Cold で 2.05 倍、Steady で 1.46 倍高速で、
130+
managed allocation は両シナリオで 90.8% 少なくなりました。
128131

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

‎README.md‎

Lines changed: 13 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ v1 `1.46.0`, reuses its configuration and mapping types, and routes calls
5252
made through `MiniExcelRust` to the Rust native library.
5353

5454
```bash
55-
dotnet add package MiniExcel.Rust --prerelease
55+
dotnet add package MiniExcel.Rust --version 0.1.0-preview.2
5656
```
5757

5858
```csharp
@@ -115,18 +115,21 @@ See the [compatibility matrix](docs/compatibility.md), [analytics and RAG contra
115115
### Latest NuGet Results
116116

117117
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.
118+
`MiniExcel.Rust 0.1.0-preview.2` .NET wrapper, and native `MiniExcel Rust 0.4.0` over a declared-dimension
119+
workbook containing 100,000 rows x 10 columns. Five fresh processes ran per runtime and scenario;
120+
every row, column, and normalized value matched before timing.
121121

122122
| Scenario | Runtime | Median elapsed | Rows/s | First row | Managed allocation | Peak working set |
123123
| --- | --- | ---: | ---: | ---: | ---: | ---: |
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 |
124+
| Cold | MiniExcel | 2,145.90 ms | 46,600 | 38.77 ms | 1,167.07 MB | 51.26 MB |
125+
| Cold | MiniExcel.Rust (.NET) | 1,047.67 ms | 95,450 | 12.05 ms | 107.04 MB | 44.59 MB |
126+
| Cold | MiniExcel.Rust | 855.09 ms | 116,947 | 0.42 ms | n/a | 3.70 MB |
127+
| Steady | MiniExcel | 4,341.55 ms | 69,100 | 3.95 ms | 3,500.58 MB | 54.74 MB |
128+
| Steady | MiniExcel.Rust (.NET) | 2,972.94 ms | 100,910 | 5.50 ms | 321.09 MB | 48.08 MB |
129+
| Steady | MiniExcel.Rust | 2,143.31 ms | 139,970 | 0.41 ms | n/a | 3.79 MB |
130+
131+
For full Query, preview.2 is 2.05x faster in Cold and 1.46x faster in Steady than MiniExcel v1,
132+
with 90.8% less managed allocation in both scenarios.
130133

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

‎README.zh-CN.md‎

Lines changed: 13 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ cargo add miniexcel
5151
复用其配置和映射类型,并将通过 `MiniExcelRust` 发起的调用交给 Rust 原生库执行。
5252

5353
```bash
54-
dotnet add package MiniExcel.Rust --prerelease
54+
dotnet add package MiniExcel.Rust --version 0.1.0-preview.2
5555
```
5656

5757
```csharp
@@ -112,18 +112,21 @@ MiniExcel::save_as("book.xlsx", &[row])?;
112112

113113
### 最新 NuGet 结果
114114

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 个独立进程。计时前已逐行、逐列、逐值验证一致。
115+
最新 Windows x64 测试使用声明 dimension 的 100,000 行 x 10 列工作簿,对比公开的
116+
`MiniExcel 1.46.0`、`.NET` 包装器 `MiniExcel.Rust 0.1.0-preview.2` 与原生
117+
`MiniExcel Rust 0.4.0`;每个 runtime、每个场景运行 5 个独立进程。计时前已逐行、逐列、逐值验证一致。
118118

119119
| 场景 | Runtime | 耗时中位数 | 行/秒 | 首行延迟 | 托管分配 | 峰值工作集 |
120120
| --- | --- | ---: | ---: | ---: | ---: | ---: |
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 |
121+
| Cold | MiniExcel | 2,145.90 ms | 46,600 | 38.77 ms | 1,167.07 MB | 51.26 MB |
122+
| Cold | MiniExcel.Rust (.NET) | 1,047.67 ms | 95,450 | 12.05 ms | 107.04 MB | 44.59 MB |
123+
| Cold | MiniExcel.Rust | 855.09 ms | 116,947 | 0.42 ms | 不适用 | 3.70 MB |
124+
| Steady | MiniExcel | 4,341.55 ms | 69,100 | 3.95 ms | 3,500.58 MB | 54.74 MB |
125+
| Steady | MiniExcel.Rust (.NET) | 2,972.94 ms | 100,910 | 5.50 ms | 321.09 MB | 48.08 MB |
126+
| Steady | MiniExcel.Rust | 2,143.31 ms | 139,970 | 0.41 ms | 不适用 | 3.79 MB |
127+
128+
完整 Query 中,preview.2 在 Cold 与 Steady 场景分别比 MiniExcel v1 快 2.05 倍和 1.46 倍,
129+
两个场景的托管分配都减少 90.8%。
127130

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

‎README.zh-TW.md‎

Lines changed: 13 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ cargo add miniexcel
5151
重用其設定與 mapping 型別,並將透過 `MiniExcelRust` 發起的呼叫交給 Rust 原生程式庫執行。
5252

5353
```bash
54-
dotnet add package MiniExcel.Rust --prerelease
54+
dotnet add package MiniExcel.Rust --version 0.1.0-preview.2
5555
```
5656

5757
```csharp
@@ -112,18 +112,21 @@ MiniExcel::save_as("book.xlsx", &[row])?;
112112

113113
### 最新 NuGet 結果
114114

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。計時前已逐列、逐欄、逐值驗證一致。
115+
最新 Windows x64 測試使用已宣告 dimension 的 100,000 列 x 10 欄 workbook,比較公開的
116+
`MiniExcel 1.46.0`、`.NET` 包裝器 `MiniExcel.Rust 0.1.0-preview.2` 與原生
117+
`MiniExcel Rust 0.4.0`;每個 runtime、每個場景執行 5 個獨立 process。計時前已逐列、逐欄、逐值驗證一致。
118118

119119
| 場景 | Runtime | 耗時中位數 | 列/秒 | 首列延遲 | Managed allocation | Peak working set |
120120
| --- | --- | ---: | ---: | ---: | ---: | ---: |
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 |
121+
| Cold | MiniExcel | 2,145.90 ms | 46,600 | 38.77 ms | 1,167.07 MB | 51.26 MB |
122+
| Cold | MiniExcel.Rust (.NET) | 1,047.67 ms | 95,450 | 12.05 ms | 107.04 MB | 44.59 MB |
123+
| Cold | MiniExcel.Rust | 855.09 ms | 116,947 | 0.42 ms | 不適用 | 3.70 MB |
124+
| Steady | MiniExcel | 4,341.55 ms | 69,100 | 3.95 ms | 3,500.58 MB | 54.74 MB |
125+
| Steady | MiniExcel.Rust (.NET) | 2,972.94 ms | 100,910 | 5.50 ms | 321.09 MB | 48.08 MB |
126+
| Steady | MiniExcel.Rust | 2,143.31 ms | 139,970 | 0.41 ms | 不適用 | 3.79 MB |
127+
128+
完整 Query 中,preview.2 在 Cold 與 Steady 場景分別比 MiniExcel v1 快 2.05 倍與 1.46 倍,
129+
兩個場景的 managed allocation 都減少 90.8%。
127130

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

0 commit comments

Comments
 (0)