WebAssemblyにガベージコレクション機能が登場、Chrome 111で試験的実装に。Dartなど高級言語のWebAssembly対応へ前進

今回は「WebAssemblyにガベージコレクション機能が登場、Chrome 111で試験的実装に。Dartなど高級言語のWebAssembly対応へ前進」についてご紹介します。

関連ワード (困難、機能、複数等) についても参考にしながら、ぜひ本記事について議論していってくださいね。

本記事は、Publickey様で掲載されている内容を参考にしておりますので、より詳しく内容を知りたい方は、ページ下の元記事リンクより参照ください。


WebAssemblyのガベージコレクション機能が、Chrome 111 Devリリースにおいて試験的実装を示すOrigin trialとして実装されることが分かりました。

WebAssemblyのガベージコレクション機能はまだ仕様策定段階ですが、試験的機能として実装が登場することで仕様策定の作業などが進むと同時に、いわゆる高級言語でのWebAssembly対応が広がることも期待されます。

fig

WASM GCはChromeのフィーチャーフラグで有効化

ChromeブラウザにはStable、Beta、Dev、Canaryなど、開発の段階に分かれた複数のリリースチャンネルがあります。

現在リリースされているChrome 111 Devリリースチャンネルには、試験的実装を示すOrigin Trialとして「WebAssembly Managed Objects / GC」が実装されました。

Chrome 111 Devリリースのフィーチャーフラグを実行すると、有効にするためのメニューを表示できます。

fig

FlutterがWebAssemblyのガベージコレクションを用いた最初の例に

WebAssemblyはこれまでガベージコレクション機能を備えておらず、そのためにプログラマが完全にメモリを管理するC++や、シンプルな仕組みで自動的にメモリ管理が行われるRustのような、いわゆる低級プログラミング言語で書かれたコードをコンパイルすることが基本的なWebAssemblyバイナリの生成方法でした。

JavaやPythonやRubyなどのいわゆる高級プログラミング言語はプログラミング言語のランタイムが自動的にメモリ管理を管理し、ガベージコレクションを行ってくれる仕組みを備えています。

そのため、それらのコードをコンパイルしてWebAssembly対応のバイナリを生成したとしても、そこにガベージコレクションの機能を埋め込まなければ実行できず、コンパイルしてWebAssembly対応のバイナリを生成することは困難でした。

WebAssemblyに対するガベージコレクション機能の拡張は、こうした高級言語でのWebAssembly対応が主な目的です。

すでにUIフレームワークのFlutterとその開発言語であるDartが、WebAssemblyのガベージコレクション対応を利用した最初のフレームワークになることを宣言しています。

参考:Flutterが進化する方向とは? WebAssemblyサポート、コンポーネントとしてWebアプリに組み込み可能に。Flutter Forward 2023

FlutterとDart、そしてChromeブラウザはいずれもGoogleのプロダクトであるため、ここではそれぞれのチームが連係しているのかもしれません。

DartとFlutterの対応を皮切りに、さまざまな高級言語でのWebAssembly対応が進めば、今後のWebAssemblyの活用範囲はさらに広がることが期待されます。ただし最初にWebAssemblyに実装されるガベージコレクション機能はシンプルな実装で、しかもある程度性能を犠牲にすることになるとされているため、いきなり多くの言語が対応することはないと見られます。

WebAssemblyのガベージコレクション対応実装は、ChromeだけでなくFirefoxも前向きに進めているとのことです。

COMMENTS


Recommended

TITLE
CATEGORY
DATE
iDeCoはNISAより節税メリット大–デメリットもきちんと理解して活用
IT関連
2021-03-02 15:08
PCの使い方で大きく違う温室効果ガス排出量の削減効果
IT関連
2023-03-10 20:02
米英のセキュリティ当局、ロシア対外情報庁の脅威アクターによる攻撃手法など注意喚起
IT関連
2021-05-10 15:07
Googleドライブにファイル共有したくない相手をブロックする機能
アプリ・Web
2021-07-26 11:57
「Linux」でコマンドを実行する時刻を指定–「at」コマンドを使用するには
IT関連
2024-11-01 13:46
ローコード/ノーコードの利点と問題点–開発者に求められる新たな役割
IT関連
2023-04-08 14:24
Snowflake、マーケットプレイスの国内展開を本格化–国内7社がデータ提供に参画
IT関連
2022-10-26 19:21
今週の記事ランキング(2021.5.23〜5.27)
IT関連
2021-05-29 08:15
Apple製品をワンストップで 「ビックカメラ池袋SELECT」がオープン
IT関連
2021-07-31 22:23
重要インフラへの攻撃は依然として重大な脅威–著名ジャーナリストが警告
IT関連
2022-08-16 01:38
メルカリがServiceNowを導入、業務の全体最適化プラットフォームに利用
IT関連
2022-04-14 21:13
ツイッターがお気に入りのツイートに投げ銭できる「Tip Jar」機能搭載、まずは英語で
ネットサービス
2021-05-09 13:48
商用OK、無料のAI音声合成「CoeFont Studio」 ゲーム実況・プレゼンなどの利用見込む
アプリ・Web
2021-04-27 10:13
バランスの取れたAI規制をどう実現するか–英政府の提言レポート
IT関連
2023-04-13 19:51