Skip to content

Releases: orangeofcarl0-sys/dsh-large-proj-perf

v1.1.1 — fix chunked materialize (cordis Proxy signature check)

Choose a tag to compare

@orangeofcarl0-sys orangeofcarl0-sys released this 15 Aug 19:24

Fix

chunked materialize was silently never installed since v1.0.0: ctx.get('sessionPersistence') returns a cordis Proxy, and String(proxy.encodeMaterialization) is [native code] (bound shadow method), so the source-signature check always failed. The fork-seed full-serialization OOM fix never actually ran in production — the cause of the reported model-select / message-send lag.

Now the check reads the prototype method (real source), with own-property fallback for mocks.

Verified

  • Log confirms chunked materialize installed (chunk=50000 events/frame)
  • 51 tests ALL PASS
  • dsh stable (web 2.9s startup, mem 1.32GB idle)

v1.1.0 — memory optimization integrated

Choose a tag to compare

@orangeofcarl0-sys orangeofcarl0-sys released this 15 Aug 19:09

What

Integrates the large-session memory config into the plugin:

  • preparedCacheSize (default 1) — runtime-trims the persistence cold-session LRU (default 5 full event trees → 1), evicting oldest ready entries to release ~2.8GB. No manual cordis.patch.yml edit needed.
  • heapWarnBytes (default 6GB) — detects V8 heap limit at startup and warns when below threshold, pointing to the bundled launcher.
  • scripts/start-dsh.ps1 — recommended launcher that starts dsh with --max-old-space-size=8192 (the one thing the plugin can't do in-process, since heap cap is a V8 startup flag).

Why

Large live sessions each hold a ~700MB event tree. Default V8 heap cap (~4GB) OOMs when several are open at once. This release handles the plugin-side part (LRU trim) and ships the launcher + startup warning for the process-side part (heap cap).

Install

dsh plugin --profile web add github:orangeofcarl0-sys/dsh-large-proj-perf

51 tests ALL PASS.

v1.0.0 — merged large-session perf

Choose a tag to compare

@orangeofcarl0-sys orangeofcarl0-sys released this 15 Aug 18:26

What

Merges dsh-fork-perf and dsh-projection-warmup into one plugin:

  • zero-copy fork — fork seed reuses deep-frozen event refs (346ms → 19ms)
  • fast initFor — persistence structuredClone(seed) eliminated (135ms → ~0ms)
  • chunked projection warmup — cold fold 20min → 200ms on 74万-event sessions
  • fork cache backfill — abandoned forks keep projection rows
  • chunked materialize — fork seed serialization split into zstd frames (no 500MB string / RangeError)
  • cold-session backfill (opt-in)

Install

dsh plugin --profile web add github:orangeofcarl0-sys/dsh-large-proj-perf

Supersedes dsh-fork-perf and dsh-projection-warmup (both archived). 46 tests ALL PASS.