0010. wasm メモリの上限を 1 GB にする
- 状態:採用(2026-10-05)
- 決めた人:ユーザー
WebKit は、コアのインスタンスごとに WebAssembly メモリの上限まで確保し、ページの処理が終わるまで手放しません。 以前の blink のコアで当初の上限 4 GB のとき、aube #1645 の 4 手順で WebKit の確保は約 14 GB に達しました。 Chromium では増えません。上限を 1 GB にしても速さは変わらず(各 8 回、p ≥ 0.57)、確保の量は手順ごとに約 1.1 GB に 減りました。aube と probe は 1 GB で動きます。
コアの共有メモリは 1 GB(64 KiB のページで 16384)まで伸びるようにします。paludarium に移してからは、上限はコア自身が
決めています(index.mjs の maximum: 16384 と、wasm が import するメモリの同じ上限)。tests/node/build.test.ts が
dist/paludarium/ の写しから両方を読み、どちらかが変わると失敗します。
- メモリの少ない環境で、WebKit がメモリ不足になる危険が下がります。
- 1 GB を超えるメモリを使うゲストは動きません。
- 上限を変えた paludarium のリリースでは、この決定を見直すまで build のテストが失敗します。
- 4 GB のまま:WebKit の確保が積み上がります。
- 手順の間でインスタンスを解放させる:解放の時期は JavaScriptCore のガベージコレクションに依存し、formicarium からは 制御できません。