WasmでJavaScriptを動かす意義
SRANK

ある時Twitterのタイムラインを見ていたら、「JavaScriptをWasm化して動かす意味がわからない」というような意見を見かけました。JavaScriptはブラウザに搭載されているV8のようなJavaScriptエンジンによって高速に動作するのに、わざわざWasm化してもパフォーマンスは劣化するのになぜなのか?という話なんですが、これは「Wasm化=パフォーマンスのため」という考えだと意義がわからないのでこの記事ではそれについて解説します。JavaScriptをWasm化して動かすツールやライブラリとしては、Shopifyが開発しているJavyやquickjs-emscriptenなどがあります。JavaScriptをWasm化して動かすためには、ある特定のJavaScriptエンジンをWasm向けにビルドして動かす必要がありますが、そのような用途ではQuickJSというJavaScript処理系がよく使われています。QuickJSには、ブラウザに搭載されているJavaScriptエンジンとは違って、高速化のためのJITコンパイラのような上等な物は搭載されていませんが、それよりもアプリケーションに埋め込んで使いやすいように小さなサイズに収めているのが特徴のJavaScript処理系です。QuickJSのウェブサイトに載ってるベンチマークを見てみると、C…

blog.anatoo.jp
Related Topics: JavaScript WebAssembly
4 comments
  • From juicy strawberries to exotic dragon fruits, Merge Fruit offers a visual spectacle that is both relaxing and stimulating.

  • I get where you’re coming from! JavaScript engines like V8 are incredibly optimized, and for most web applications, JavaScript performs really well. However, converting JavaScript level devilto WebAssembly (Wasm) can have some advantages.

  • Each orb you consume adds a segment to your slitherio, making it longer and more impressive.