Open12

WebAssembly と仲良くなりたい

おーたかこーたろーおーたかこーたろー
おーたかこーたろーおーたかこーたろー

以前の WebAssembly.compile/WebAssembly.instantiate メソッドでは、生のバイトをフェッチした後 WebAssembly モジュールのバイナリーを含む ArrayBuffer を作成し、コンパイル/インスタンス化する必要があります。これは文字列(JavaScript ソースコード)をバイトの配列バッファー(WebAssembly ソースコード)で置き換えることを除いて、new Function(string) に似ています。

新しい WebAssembly.compileStreaming/WebAssembly.instantiateStreaming メソッドは、より効率的です。ネットワークからの生のバイトストリームに対して直接アクションを実行し、 ArrayBuffer ステップの必要性がなくなりました。

おーたかこーたろーおーたかこーたろー

WebAssembly.instantiate()
WebAssembly コードをコンパイル、インスタンス化するための主要な API で、 Module と、その最初の Instance を返します。

WebAssembly.instantiateStreaming()
ソースのストリームから直接 WebAssembly モジュールをコンパイル、インスタンス化し、 Module と、その最初の Instance を返します。

WebAssembly.compile()
WebAssembly.Module を用いて WebAssembly バイナリーコードからコンパイルします。インスタンス化は別ステップとして分離されます。

WebAssembly.compileStreaming()
ソースのストリームから直接 WebAssembly.Module にコンパイルします。インスタンス化は別ステップとして分離されます。