|
17 | 17 | | Gate | Command | Result | |
18 | 18 | |---|---|---| |
19 | 19 | | Test suites | every `IsTestProject` assembly run through its MTP host, Release, `net11.0` | **2,897 tests across 16 suites — 0 failed, 0 errors, 16 skipped** | |
| 20 | +| CI (GitHub Actions) | `CI v2.1 Preview (.NET 11)` on `release/v2.1.0.0-RC.3` | ubuntu **passes**; the `windows-2025` job exits 1 in `Test` while reporting 0 failures — see §5 item 1 | |
20 | 21 | | Write-path regression gate | `SharpCoreDB.Benchmarks.Comparative --gate` | **PASSED** (nothing slower than baseline × 1.5) | |
21 | 22 | | Comparative CRUD | `…Comparative` (100K inserts, 10K reads/updates/deletes) | see §3 | |
22 | 23 | | Fair-PK arms | `…Comparative --pk`, `--pk --engine=pagebased`, `--pk-default` | see §4 | |
23 | 24 | | Multi-row INSERT shape | `…Comparative --multirowinsert` | 52,742 rows/s (product default, this session) | |
24 | | -| Pack | `dotnet pack` on the CI solution filter | all packages produced at `2.1.0-RC.3` | |
| 25 | +| Pack | `dotnet pack` on the CI solution filter | 27 packages, all at `2.1.0-RC.3`, 0 errors | |
25 | 26 |
|
26 | 27 | Suite breakdown (core and companions): |
27 | 28 |
|
@@ -206,17 +207,29 @@ artifacts for the shipped default; the throughput band moves with machine load. |
206 | 207 |
|
207 | 208 | ## 5. What is still behind, stated plainly |
208 | 209 |
|
209 | | -1. **INSERT on the fair-PK shape is ~1.4× behind SQLite** (1.9× on the pure default config). The |
| 210 | +1. **GitHub Actions, Windows job only: `Test (net11.0)` exits 1 while the MTP host reports |
| 211 | + 0 failures.** Run [35187405051](https://github.com/MPCoreDeveloper/SharpCoreDB/actions/runs/35187405051) |
| 212 | + on `release/v2.1.0.0-RC.3`: the ubuntu job passes; the `windows-2025` job prints |
| 213 | + `SharpCoreDB.Tests Total: 1813, Errors: 0, Failed: 0, Skipped: 0` and then the step returns |
| 214 | + exit code 1 with no further output. The same pattern is present on the 2026-09-14 commits |
| 215 | + (e.g. run 34880593081), so it **predates this release work**. It is **not reproducible** on a |
| 216 | + local Windows box with the same SDK (`11.0.100-rc.1.26425.128`) and the identical command run |
| 217 | + under Git Bash — with and without `CI=true`/`GITHUB_ACTIONS=true`, and with stdout redirected to a |
| 218 | + file the way the runner captures a step: all return exit code 0. The next diagnostic step is an |
| 219 | + MTP diagnostic log on that runner (`--diagnostic --diagnostic-output-directory <dir>` on the test |
| 220 | + host) plus uploading it as an artifact, which needs a Windows runner to exercise. **The local |
| 221 | + 16-suite result (2,897 / 0 failed) is unaffected; the branch CI badge is red on Windows.** |
| 222 | +2. **`INSERT` on the fair-PK shape is ~1.4× behind SQLite** (1.9× on the pure default config). The |
210 | 223 | batched multi-row shape converted to a measured win in this line; the single-row statement path |
211 | 224 | did not. The residual is the SQL/engine path per statement plus per-value write-through |
212 | 225 | durability, not the storage I/O — the profile is in the plan §11. |
213 | | -2. **PageBased UPDATE** (4.9× behind on the fixed-width layout) — instrumented, not yet fixed. |
214 | | -3. **Pure-default (encrypted) throughput** is 1.3–1.6× behind the `NoEncryptMode` raw-speed posture |
| 226 | +3. **PageBased UPDATE** (4.9× behind on the fixed-width layout) — instrumented, not yet fixed. |
| 227 | +4. **Pure-default (encrypted) throughput** is 1.3–1.6× behind the `NoEncryptMode` raw-speed posture |
215 | 228 | on every phase. `NoEncryptMode=true` remains the explicit, documented opt-out for benchmarks and |
216 | 229 | speed-critical deployments; **the security default has not been weakened.** |
217 | | -4. **Gate variance:** the write-path gate passed, but this session's rep spread reached 2.08× on a |
| 230 | +5. **Gate variance:** the write-path gate passed, but this session's rep spread reached 2.08× on a |
218 | 231 | loaded machine, so ratios below ~1.3× in a single run are not attributable. |
219 | | -5. **Single-file (`.scdb`) migration is one-way** for v1.x files (unchanged from v2.0, `.backup` |
| 232 | +6. **Single-file (`.scdb`) migration is one-way** for v1.x files (unchanged from v2.0, `.backup` |
220 | 233 | preserved), and there is **no downgrade path** for the new inline-capacity layout: an older build |
221 | 234 | reading a new file would misread its inline slots. |
222 | 235 |
|
|
0 commit comments