You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Fix benchmark docs layout and Docs deploy concurrency.
Keep the hero summary table in README.md and generate a detailed
VS_REFERENCE.md report for all scenarios and surfaces. Sync the detailed
report to GitHub Pages media and avoid cancelling in-flight Pages deploys.
Co-authored-by: Cursor <cursoragent@cursor.com>
| Divina, with stored text | 14,097 | 0.82 vs 16.1 MB (~95% less) |~71% less | 92 ms | 41 ms | 96 ms |~30% faster |
40
+
| Divina, index only | 14,097 | 0.71 vs 14.9 MB (~95% less) |~75% less | 115 ms | 19 ms | 112 ms |~30% faster |
41
+
| Giant vocabulary (50k terms) | 50,000 | 1.82 vs 47.2 MB (~96% less) |~81% less | 264 ms | 49 ms | 245 ms |~46% faster |
42
+
| Dense numeric ids | 100,000 | 4.91 vs 91.3 MB (~95% less) |~73% less | 524 ms | 55 ms | 398 ms |~30% faster |
43
+
| Generic string ids | 100,000 | 4.90 vs 91.3 MB (~95% less) |~74% less | 569 ms | 75 ms | 403 ms |~27% faster |
44
+
| Uint16 doc id boundary | 65,535 | 2.89 vs 58.6 MB (~95% less) |~77% less | 356 ms | 45 ms | 269 ms |~55% faster |
45
+
| Uint32 doc id boundary | 65,536 | 3.51 vs 58.6 MB (~94% less) |~74% less | 390 ms | 44 ms | 283 ms |~54% faster |
46
+
47
+
Load JSON = `MiniSearch.loadJSON` on the same `toJSON` snapshot. Load binary = `loadBinarySync` after `saveBinarySync`. Freeze import = one-time `FrozenMiniSearch.fromJSON` (not the hot reload path).
48
+
49
+
Across this full run, frozen is faster on **27/27** search cases. Divina `inferno` (exact, paired p50): mutable 17.2 µs → frozen 13.1 µs (**-4 µs**, ratio 0.69).
50
+
51
+
Numbers are from `benchmarks/baselines/reference.json` @ `1cdc405`, captured 2026-07-04 on Node v24.16.0, 3 runs per scenario. Heap protocol v4 (isolated scenario processes, in-process trials, median+MAD; totalResident = heapUsed + external on both sides) — trend, not exact accounting. Index RAM column shows — for scenarios outside the heap allowlist.
52
+
53
+
Detailed tables for all 13 scenarios (search, load, migrate, heap, drift, …): **[benchmarks/VS_REFERENCE.md](benchmarks/VS_REFERENCE.md)**.
Public comparison output: [`benchmarks/VS_REFERENCE.md`](VS_REFERENCE.md) (full table). The root [`README.md`](../README.md) keeps a short pointer between `<!-- vs-reference:* -->` markers.
118
+
Public comparison output: [`benchmarks/VS_REFERENCE.md`](VS_REFERENCE.md) (detailed tables for all scenarios). The root [`README.md`](../README.md) keeps the hero summary table between `<!-- vs-reference:* -->` markers.
119
119
120
120
Legacy `pnpm benchmark:baseline:update` was removed; use `pnpm bench:reference:update`.
0 commit comments