WebAssembly の漫画での紹介

[この記事は”A cartoon into to WebAssembly“の翻訳です]

WebAssembly は高速です。あなたはおそらくこのことは聞いたことがあるでしょう。しかし何が WebAssembly を高速に動作することをできるようにしているのでしょうか?

このシリーズでは、なぜ WebAssembly が高速に動作するのかの説明を行いたいと思います。

WebAssembly とは何ですか?

WebAssembly は JavaScript 以外のプログラミング言語で書かれたコードをブラウザ上で実行する方法です。人々が WebAssembly が高速と言っているときは、JavaScript と比較しています。

今、私はあなたがWebAssemblyを使用しているかJavaScriptを使用しているかに関しては暗示したくありません。 実際、開発者が同じアプリケーションで WebAssembly と JavaScript の両方を使用することを期待しています。

しかし、これら2つを比較することは有益であり、WebAssembly が持つであろうインパクトを理解することができるでしょう。

パフォーマンスの歴史を少し

JavaScript は1995年に作成されました。しかし高速に動くように設計されてはおらず、最初の10年は速くありませんでした。

その後ブラウザはより競争的になりました。

2008年、人々がパフォーマンス戦争と呼ぶ期間が始まりました。複数のブラウザに JIT とも呼ばれるジャストインタイムコンパイラが追加されました。 JavaScript が実行されているため、JIT はパターンを見て、そのパターンに基づいてコードをより高速に実行することができます。

これらの JIT の導入により、JavaScript のパフォーマンスに変革がもたらされました。 JavaScript の実行速度は10倍になりました。

A graph showing JS execution performance increasing sharply in 2008

パフォーマンスが改良されたことにより、JavaScript は Node.js を使ったサーバーサイドプログラミングのように、これまでに使用されることが予想されなかったものに対して使用され始めました。 パフォーマンスの向上により、全く新しい種類の問題に JavaScript を使用することが可能になりました。

もしかすると我々は今、WebAssembly によって新たな変曲点にいるのかもしれません。

A graph showing another performance spike in 2017 with a question mark next to it

では、WebAssembly を高速化する要素を理解するために詳細を掘り下げてみましょう。

背景:

過去の WebAssembly:

未来の WebAssembly:

Lin Clark に関して

Lin は Mozilla Developer Relations チームのエンジニアです。 彼女は JavaScript、WebAssembly、Rust、Servo を使っています。また、コードの漫画を描きます。

Lin Clark によるその他の記事はこちら…

コメントを投稿する