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
ポケモンGOに「メガギャラドス」初登場 旧正月イベントで リモート交換にキラ率アップも
くらテク
2021-02-11 04:53
「クラシル」運営dely、三菱食品と提携–店頭サイネージでレシピを配信
IT関連
2024-01-25 07:52
「Bing」のAIチャット、回答にマルウェアサイトへのリンクが含まれる恐れ
IT関連
2023-10-03 09:59
虹色に輝くG-SHOCK登場 モチーフは「鳳凰」
くらテク
2021-03-02 20:46
米国の転職者の確定拠出年金を集約するCapitalizeがシリーズAで13.1億円を調達
フィンテック
2021-02-16 14:27
マイクロソフト、2月の月例パッチ–脆弱性48件を修正
IT関連
2022-02-11 19:49
Visual Studio 17.1 Preview 2が登場、Gitのブランチを他のブランチと比較する機能、セーブ時にコードを自動的にクリーンナップする機能など追加
Git
2022-01-20 11:04
AIによって批判的思考は損なわれるのか–マイクロソフトらの研究で警鐘
IT関連
2025-02-18 05:21
岸防衛相「不正な予約は接種機会を奪う悪質な行為」 ワクチン大規模接種の予約システムは「可能な範囲で改修」
セキュリティ
2021-05-19 17:37
ユーザー10万人のアジャイルミーティングソフトウェアParabolが約8.7億円を調達
ソフトウェア
2021-05-04 04:38
開発者の大量離職時代はまだ続く–過半数が1年以内の離職を検討
IT関連
2023-01-18 05:56
現代自動車、IonQの量子技術を自動車の物体認識機能に活用へ
IT関連
2022-04-22 04:33
Spotify、新型コロナ誤情報に抗議・宣言したニール・ヤングの楽曲を削除
IT関連
2022-01-28 04:48
AI活用でランサムウェアの早期検知に挑むマイクロソフト
IT関連
2022-06-30 10:44