コンテンツへスキップ
uencoder

SharedArrayBuffer

SharedArrayBuffer は、Worker とメインスレッドがゼロコピーで同一メモリ領域を共有できるようにする API である。Spectre への対策としてクロスオリジン分離(COOP+COEP)が必要である。

目的

パフォーマンスのために Worker 間で大きなメモリをゼロコピー共有しつつ、Spectre のサイドチャネルを防ぐクロスオリジン分離を要求する。

メカニズム

new SharedArrayBuffer(size) で共有メモリを生成し、postMessage(transferable)で渡す。Atomics がアトミック操作を提供する。Spectre 以降は crossOriginIsolated が必須である(COOP same-origin + COEP require-corp)。

ユースケース

  • Worker とのゼロコピー共有メモリ
  • WASM のマルチスレッド
  • ハイパフォーマンス計算

関連ツール

References