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
FBI、本物に見せかけた仮想通貨アプリを使った詐欺を警告
IT関連
2022-07-21 11:24
量子コンピュータ、直近数年の活用シーンは? 量子ベンチャーblueqatの湊CEOに聞く :マスクド・アナライズの新弟子入門!(1/2 ページ)
ロボット・AI
2021-02-04 16:11
マイナンバー特化のデジタルソリューションを提供するxIDが総額2億円調達、金融・保険領域でのサービスを加速
IT関連
2022-01-22 18:30
SIEが格闘eスポーツ大会「EVO」を開催元から買収 運営は子会社が引継ぎ
企業・業界動向
2021-03-20 11:07
デジタル開発から真に恩恵を受けるのは誰か?
IT関連
2022-03-19 06:28
NECら13社、コンソーシアム設立に基本合意–海外拠点持つ企業への5Gソリューション提供へ
IT関連
2021-02-06 05:56
「脱炭素」でさらに注目が集まる気候テック、IoT、AI、SaaS活用でさまざまな企業、サービスが誕生
IT関連
2022-02-26 08:07
マルチプラットフォーム対応が進むKotlin。「Jetpack Compose for Web」登場、Webアプリ対応のUIフレームワーク
Kotlin
2021-05-06 14:19
第5回:最近よく聞く「ジョブ型」とは–ジョブ型人事制度の傾向と対策
IT関連
2022-02-01 15:08
中国当局がフードデリバリー会社に手数料の引き下げを指導
IT関連
2022-02-22 00:59
3年で進んだヤマト運輸のデータドリブンな組織運営(後編)
IT関連
2023-03-03 00:08
GitHubが動画のアップロード機能に正式対応。バグの再現手順や機能のデモなどの説明が動画で容易に
GitHub
2021-05-18 04:31
「iOS 14.5」のATT機能、ユーザーの約88%が「トラッキングしないように要求」を選択──Flurry調べ
アプリ・Web
2021-05-10 17:46
マテリアルデザインを簡潔に記述できる「Jetpack Compose」がバージョン1.0に到達、本番環境で安心して利用可能に
Android
2021-08-04 01:13