This post is Private. Only a writer or those who know its URL can access this post.

翻訳: WebAssembly への図的な入門 (Mozilla Developer Blog)

More than 1 year has passed since last update.

この記事は、Mozilla の開発者ブログの日本語訳です。

原文はこちら

WebAssembly は高速です。このことは既に知っているかもしれませんが、何が WebAssembly を高速にしているのでしょうか?

このシリーズでは、なぜ WebAssembly が高速なのか説明したいと思います。

待って、WebAssembly って何?

WebAssembly は、ブラウザで JavaScript 以外のプログラミング言語で記述したコードを実行する方法です。なので、WebAssembly が速いと言われるとき、比較対象となるのは JavaScript です。

ただ、私は「WebAssembly を使うか、JavaScript を使うか」のような二者択一の状態を暗示したいわけではありません。実は、私たちは開発者が同じアプリケーションにおいて WebAssembly と JavaScript を併用することを想定しています。

そんなことより、その二つを比較すると役に立ち、WebAssembly が持つであろう潜在的効果を理解できます。

少し前の実績

JavaScript は1995年に作られました。当時高速で動作するための設計はされておらず、10年間、高速ではありませんでした。

それから、それぞれのブラウザはより競争力を持ち始めました。

2008年、性能競争が始まったと言われている時期、複数のブラウザが「実行時コンパイラ」(「JIT」とも言う)を実装しました。JavaScript が動作している間、JIT はパターンを認識し、それをもとにコードを高速で実行させることができていました。

この JIT の導入が、JavaScript の性能においての変曲点となりました。JavaScript の実行速度は10倍になりました。

2008年に JavaScript の実行性能が急激に向上したことを示すグラフ

この向上した性能が影響して、JavaScript は Node.js を用いたサーバーサイドプログラミングのような、誰も今までに予想していなかった目的で使われ始めました。性能の向上は、新たなクラスの問題において JavaScript を活用することを可能にしました。

私たちは今、WebAssembly という更なる変曲点にいるのかもしれません。

さて、それでは何が WebAssembly を高速にしているのか理解するために、詳細を説明していきます。

背景

WebAssembly の現在

WebAssembly の未来

Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account log in.