「Wasmer 6.0」が登場、ネイティブに近い速度でWebAssemblyを実行可能 主要な強化点は?:実行時のバックエンド切り替えもサポート
Wasmerは、WebAssembly(Wasm)ランタイムの最新版「Wasmer 6.0」を発表した。
Wasmerは2025年4月25日(米国時間)、同社のWebAssembly(Wasm)ランタイムの最新版「Wasmer 6.0」を発表した。
WebAssemblyは、Webブラウザなどモダンな実行環境での効率的なコード実行とコンパクトなコード表現を実現する安全でポータブルな低レベルフォーマット。World Wide Web Consortium(W3C)がコア仕様をW3C勧告として公開している。Wasmerは、WebAssemblyをネイティブで実行できるようにするオープンソースのランタイムだ。
Wasmerは、Wasmer 5.0のリリース以来、「V8」「Wasmi」「WAMR」といったバックエンドのサポートを追加してきたが、単一のバックエンドしか各バイナリにコンパイルできなかった。複数のバイナリを配布することは、ライブラリ開発者にとって、あるいはエッジ展開において大きな負担となっていた。Wasmer 6.0ではこの制限を取り除き、30〜50%%の速度向上を実現した。
なお、V8はGoogleのJavaScriptエンジン、WasmiはRustで実装されたオープンソースのインタープリタ、WAMRはCで実装されたオープンソースのエッジ向けWasmランタイムだ。
WebAssemblyの速度向上など、Wasmer 6.0の主要な強化点は?
Wasmerは、Wasmer 6.0の主な機能強化点として以下を挙げている。
- LLVMバックエンドの改善により、WebAssemblyがネイティブに近い速度で実行可能に
- LLVM、V8、JSバックエンドでゼロコストのWebAssembly例外処理をサポートし、PHPの速度が3〜4倍に向上
- 実行時におけるバックエンドの切り替えをサポート(「wasmer run … --v8」「wasmer run ... --jsc」、…)
- WASIXを改善。WASIXは、WebAssemblyでネットワークやファイル、メモリなどのシステムリソースを抽象化するAPI仕様「WASI」を拡張し、POSIX(Portable Operating System Interface)に対応させたもの
- 多くのバグ修正と改善
Wasmerの最新版は、以下のコマンドでインストールする。
curl https://get.wasmer.io -sSfL | sh
LLVMバックエンドの改善でネイティブに近い速度でWasmが実行可能に
Wasmer 6.0では、LLVMコードジェネレータを刷新し、冗長なパスの削除と、新しい実験的なパスに基づくレジスタの割り当ての改善により、ベンチマーク結果が以下のように向上している。
- Coremark:ネイティブ(100%の速度)、Wasmer 5(90%)、Wasmer 6(95%)
- WordPress(コールドスタート時間):ネイティブPHP(100%)、Wasmer 5(54%)、Wasmer 6(80%)
- PHPBench:ネイティブPHP(100%)、Wasmer 5(37%)、Wasmer 6(69%)
WebAssembly例外処理のサポート(LLVMとV8による)
Wasmer 6.0はWASM例外処理をサポートし、パフォーマンスの向上に加え、例外処理に依存する言語のより良いサポートが可能となった。
実行時における複数バックエンドのサポート
Wasmer APIの内部構造の大部分がリファクタリングされた。開発者が使い慣れているAPIの多くは、これまでと同様だが、以下のような例外がある。
- 一部のSystemトレイトと型がwasmer::からwasmer::sys::に移動した
- Wasm-C-API(WebAssembly C and C++ API)のサポートが刷新され、バックエンドを動的に使用できるようになった
WASIXの改善
WASIXの内部構造が大幅に改善された。
- サブプロセスとパイプ:完全に分離されているが、高速なIPC(プロセス間通信)が可能
- ファイルシステム:スマートなinodeキャッシュとCOWにより、マルチテナントのエッジ環境でのRAM使用量が減少した
- posix_spawn:内部で重いforkを使用せずに済むようになった
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
Wasmer社、無料で試せる、WebAssemblyを活用したWordPressホスティングサービスを提供開始 何が魅力なのか?
Wasmer社は、WebAssemblyランタイムを活用したWordPressホスティングサービスの提供を開始した。Wasmerを使ってローカルでWordPressを実行する手順も公開している。WebAssemblyランタイム「Wasmer 5.0」公開 iOSでWebAssemblyを実行可能に、その仕組みとは?
Wasmerは、WebAssemblyランタイム「Wasmer」の最新版となる「Wasmer 5.0」を公開した。Wasmer 5.0では、iOS上でWebAssemblyモジュールをシームレスに実行できるという。WasmerでJavaScriptやブラウザからCプログラムをコンパイル可能に ローカルで試せるデモも公開
Wasmerは、同社のWebAssemblyランタイム「Wasmer」とJavaScript SDKの最新リリースにより、JavaScriptとブラウザでC/C++コンパイラ「clang」が実行可能になったと発表した。