BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース MozillaはWebAssemblyのパフォーマンスと機能に焦点を当てている

MozillaはWebAssemblyのパフォーマンスと機能に焦点を当てている

原文(投稿日:2018/11/30)へのリンク

MozillaはWebAssemblyをできるだけ速くするように努めている。最近のバージョンのFirefoxでは、JavaScriptとWebAssembly間の呼び出しは、インライン化されていないJavaScriptからJavaScriptへの関数呼び出しよりも高速になっている。Mozillaはまた、WebAssemblyをアプリケーションの構築に役立てるために、MVPステート以外も検討している

最近、MozillaはJavaScriptとWebAssemblyの間の呼び出しを最適化し、またWebAssemblyからビルトインへの呼び出しを高速化した。2つのクラスの改善がこれらの結果をもたらした。それは、スタックフレームを構成する上での不要な処理を排除することによって記録を減らすことと、関数間の直接のパスをとることで、仲介を排除することである。

JavaScriptからJavaScriptへの呼び出しが、JavaScriptからWebAssemblyよりも速いFirefoxのシナリオの1つはインライン関数である。その場合、コンパイラはその関数を呼び出し元の関数にコピーするため、関数は同じ関数を繰り返し呼び出す。

MozillaはまたWebAssemblyの未来に目を向け、WebAssemblyが存続できるように必要な機能のセットを調べている。WebAssemblyのMVP機能は完成していると考えられている。

  • コンパイル対象
  • 高速実行
  • コンパクト
  • リニアメモリ

WebAssemblyがヘビー級のデスクトップアプリケーション開発者をサポートするには、さらに多くの機能が必要である。

  • スレッディング - SharedArrayBuffersに基づく提案
  • SIMD(シングルインストラクションマルチプルデータ) - 開発中
  • 64ビットアドレッシング - 計画中
  • ストリーミングコンパイル - Firefoxでは開発済み、他のブラウザで積極的に開発中
  • 暗黙のHTTPキャッシング - 開発中

標準のWeb開発では、必要な機能は次のとおりである。

  • JSとWebAssembly間の高速呼び出し - Firefoxで完了、他のブラウザによる積極的に開発中
  • 迅速で簡単なデータ交換 - 様々な提案を議論中
  • ESモジュール統合 - 提案が進行し、開発中における初期実装段階
  • ツールチェーンの統合 - 進行中
  • 後方互換性 - wasm2jsツール

JavaScriptフレームワークおよびJavaScript言語へのコンパイルのニーズを満たすために、WebAssemblyに対してさらに次の要件がある。

  • ガベージコレクション - 検討中の2つの提案
  • 例外処理 - 初期の研究開発段階
  • デバッグ - 一部のブラウザデバッグツールでの大まかなサポート
  • テールコール - 提案を議論中

ブラウザ以外のWebAssemblyには、さらに多くの要件がある。

  • ポータブルインターフェース - 提案を議論中
  • 標準化されたランタイム - 開発中でいくつかの初期プロジェクト

WebAssemblyは最小の実行可能な製品段階を過ぎたところで、仕様と実装は非常に活発な議論と開発の下にある。WebAssemblyの現在および将来についてさらに学ぶために、mozillaからの非常に有益な紹介がある。それは、WebAssemblyのMVPを超えた未来:漫画のスキルツリーである。

 
 

Rate this Article

Adoption Stage
Style
 
 

この記事に星をつける

おすすめ度
スタイル

BT