スタンドアロンなWebAssemblyランタイム「Wasmer 2.0」正式リリース、Win/Mac/Linux対応。SIMDに対応、実行速度が約50%改善、参照型対応など

2021年6月22日

米Wasmer社はオープンソースのWebAssemblyランタイム「Wasmer 2.0」の正式リリースを発表しました

WebAssemblyはもともとWebブラウザ上で高速に実行できるバイナリフォーマットとして開発されましたが、現在ではWebブラウザだけでなくOSやコンテナ、ブロックチェーンなどさまざまな環境で実行可能になっており、多様なランタイムが開発されています。

参考:KubernetesのノードとしてWebAssemblyランタイムを用いる「Krustlet」、CNCFのサンドボックスプロジェクトに申請

Wasmerはその代表的なランタイムの1つ。WindowsやMac、Linux上でWebAssemblyを実行できるスタンドアロンなランタイムです。WasmerをWindowsやMac、Linuxにインストールすることで、RustやGoなどのコードから生成したWebAssemblyバイナリがOS上で実行可能になります。

WebAssemblyをOS上などさまざまなプラットフォームで実行できるようにするためのAPIなどを定めたWASI(WebAssembly System Interface)にも対応しています。

SIMD対応、実行性能が50%向上など

Wasmer 2.0ではSIMD(Single Instruction, Multiple Data)に対応しました。

SIMDとは、一般に1つの命令で同時に複数のデータを処理できるプロセッサの命令、もしくはその処理のことを指します。これを活用することで、単純な演算を大量に繰り返すような画像処理や機械学習、物理演算などの処理を高速に実行できるようになります。

これによりWebAssemblyによる画像処理や機械学習などの対応促進が期待できます。

また、新たに参照型(Reference Types)が実装されました。参照型の変数は、渡された関数の中で値が書き換えられると、その変更は呼び出し元の変数の値にも反映されます。そのためモジュール間での高速な値の受け渡しなどに有効とされています。

WasmerはWebAssemblyバイナリを内部でCPUのネイティブバイナリにコンパイルして実行していますが、そのコンパイラがプラガブルになっています。このコンパイラを用いた実行速度も2倍近く改善されています。

今回、Wasmer 2.0でのLLVMコンパイラでは浮動小数点の演算速度が約56%向上し、Craneliftでは約48%向上していると説明されています。

関連記事

あわせて読みたい

WebAssembly プログラミング言語




タグクラウド

クラウド
AWS / Azure / Google Cloud
クラウドネイティブ / サーバレス
クラウドのシェア / クラウドの障害

コンテナ型仮想化

プログラミング言語
JavaScript / Java / .NET
WebAssembly / Web標準
開発ツール / テスト・品質

アジャイル開発 / スクラム / DevOps

データベース / 機械学習・AI
RDB / NoSQL

ネットワーク / セキュリティ
HTTP / QUIC

OS / Windows / Linux / 仮想化
サーバ / ストレージ / ハードウェア

ITエンジニアの給与・年収 / 働き方

殿堂入り / おもしろ / 編集後記

全てのタグを見る

Blogger in Chief

photo of jniino

Junichi Niino(jniino)
IT系の雑誌編集者、オンラインメディア発行人を経て独立。2009年にPublickeyを開始しました。
詳しいプロフィール

Publickeyの新着情報をチェックしませんか?
Twitterで : @Publickey
Facebookで : Publickeyのページ
RSSリーダーで : Feed

最新記事10本