スタンドアロンな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%向上していると説明されています。

関連記事

Tags: WebAssembly プログラミング言語

このエントリーをはてなブックマークに追加
ツイート
follow us in feedly





タグクラウド

クラウド / AWS / Azure / Google Cloud
コンテナ / Docker / Kubernetes
クラウドネイティブ / サーバレス
クラウド障害 / 運用・監視

プログラミング言語 / 開発ツール
JavaScript / Java / .NET / WebAssembly
HTML/CSS / Web標準

アジャイル開発 / スクラム / DevOps / CI/CD
ソフトウェアテスト・品質
ローコード/ノーコード開発

データベース / RDB / NoSQL / 機械学習・AI
Oracle Database / MySQL / PostgreSQL
Office / 業務アプリケーション

ネットワーク / HTTP / QUIC / セキュリティ
OS / Windows / Linux / VMware
ハードウェア / サーバ / ストレージ

業界動向 / 働き方 / 給与・年収
編集後記 / 殿堂入り / おもしろ

全てのタグを見る

Blogger in Chief

photo of jniino

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

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

最新記事10本