日本語版
最新ニュース
科学&テクノロジー

Wasmer 5.0 の紹介 · ブログ · Wasmer

のリリースを発表できることを嬉しく思います ワスマー5.0これは、WebAssembly をどこでもソフトウェアを実行できる最高のツールにするという私たちの取り組みの最新のマイルストーンです。 この発表には、素晴らしい新機能が満載されています。 より多くのバックエンドの実験的サポート: V8、 ワスミ そして ワムル iOS サポート 無駄のないコードベース パフォーマンスの向上 アップグレードされたコンパイラー (LLVM 18 および最新の Cranelift を使用) 新しい機能は気に入っていますか?今すぐ Github で ⭐️ を送ってください! github.com/wasmerio/wasmer 新しい実験的なバックエンド 少し前に Wasmerのコミュニティで質問しました 次に Wasmer をサポートしたいバックエンドはどれですか。 回答は圧倒的でした。V8 (Google の Chrome Javascript ランタイムの背後にあるエンジン) が、56%…

Wasmer 5.0 の紹介 · ブログ · Wasmer

1730261811
2024-10-29 23:02:00

のリリースを発表できることを嬉しく思います ワスマー5.0これは、WebAssembly をどこでもソフトウェアを実行できる最高のツールにするという私たちの取り組みの最新のマイルストーンです。

この発表には、素晴らしい新機能が満載されています。

  • より多くのバックエンドの実験的サポート: V8ワスミ そして ワムル
  • iOS サポート
  • 無駄のないコードベース
  • パフォーマンスの向上
  • アップグレードされたコンパイラー (LLVM 18 および最新の Cranelift を使用)

新しい機能は気に入っていますか?今すぐ Github で ⭐️ を送ってください! github.com/wasmerio/wasmer


新しい実験的なバックエンド

少し前に Wasmerのコミュニティで質問しました 次に Wasmer をサポートしたいバックエンドはどれですか。

回答は圧倒的でした。V8 (Google の Chrome Javascript ランタイムの背後にあるエンジン) が、56% の票を獲得し、最も多くの票を集めたバックエンドでした。世論調査の結果から、通訳支援はコミュニティからも要望されていることが分かりました。

さて、その日が来ました。より多くのバックエンドのサポートを追加しました: V8、Wasmi、WAMR。それらはすべて、 Wasm-C-API 、これらはすべてこの外部インターフェイスを共通に共有しているためです。

最新の追加機能のおかげで、Wasm-C-API 仕様をサポートするインタープリターまたはランタイムを簡単に Wasmer に統合できるようになりました。

V8 の統合により、V8 デバッガーを介して優れたデバッグ エクスペリエンスを実現できると期待しています。 Chrome 開発ツール。しかし、それだけではなく、バックエンドとして V8 を搭載するということは、内部で WebAssembly Exceptions と Garbage Collection をサポートすることも意味します。この点に関するさらなるニュースを近日中にお知らせしますので、ご期待ください。

現在、Wasmer は次のバックエンドをサポートしているため、次のコンテキストで Wasmer API を使用して WebAssembly を実行できます。

  • ネイティブ (Wasmer ネイティブ コンパイラ経由)
    • シングルパス (singlepass 機能): ブロックチェーンに最適
    • クレーンリフト(cranelift 機能): 開発に最適
    • LLVM (llvm 機能): 実稼働ワークロードに最適
  • ブラウザ: ブラウザの基礎となる Wasm エンジン (web 機能)参照 https://github.com/wasmerio/wasmer-js 詳細については。
  • JavaScriptコア: Apple の JavascriptCore エンジン。 macOS で軽量で驚くほどパフォーマンスの高いランタイムを使用したい場合に最適です (jsc 特徴)
  • V8: Google の JS V8 エンジン。iOS または Android で Wasmer を使用する場合に最適です (v8 特徴)
  • ワスミ: 最も最適な Rust WebAssembly インタープリターの 1 つ。 Wasm を使用したい場合に最適です nostd 純粋な Rust コードベースを使用した環境またはブロックチェーン (wasmi 特徴)
  • ワムル🙁wamr 機能)iOSに最適

それでは…各バックエンドの速度はどれくらいなのでしょうか?

バックエンドのベンチマーク

私たちは、以下に基づいて広範なベンチマークを実行しました。 Wasmi の素晴らしいベンチマーク ブログ投稿 これらの各バックエンドがさまざまなシナリオでどのように動作するかを確認します。これが私たちの調査結果です。

Wasmer 5 Argon 2 ベンチマーク

Wasmer 5 一括操作ベンチマーク

Wasmer 5 カウンター ベンチマーク

Wasmer 5 Primes ベンチマーク

Wasmer 5 フィボナッチ (反復) ベンチマーク

Wasmer 5 フィボナッチ (再帰) ベンチマーク

Wasmer 5 Matmul ベンチマーク

WAMR、Wasmi、V8 バインディングによる iOS の完全サポート

Wasmer は初めて WebAssembly を導入しました。 iOS 新しい解釈されたモードを通じてデバイスをサポートします。

iOS 上で動作する Wasmer 5

約 1 年前、私たちは次のサポートを追加しました Wasmer の JavacriptCore(JIT が制限されないため) iOS 上で高速なランタイムが可能になることを期待しています。残念ながら、iOS では JavascriptCore 経由で WebAssembly を使用する機能に制限が設けられています (iOS 14 以降)。

の機能を活用する V8ワスミ そして WebAssembly マイクロ ランタイム (WAMR)、Wasmer 5.0 のおかげで、開発者は iOS 上で WebAssembly モジュールをシームレスに実行できるようになりました。コードベースを変更する必要はありません。これにより、モバイル開発の可能性の世界が開かれ、Apple のエコシステム上で高性能アプリケーションが可能になります。

感謝したいと思います ホロチェーン なぜなら、この仕事は私たちのパートナーシップなしでは不可能だからです。

無駄のないコードベース

Wasmer 5.0 のリリースでは、新機能をさらに迅速に開発できるように、Wasmer コードベースを可能な限り無駄のないものにすることに特に重点を置きました。

この取り組みの一環として、私たちは次のことに気づきました。

  • Emscripten バインディングは、主に次の 2 つの要因の影響を受けて、過去 2 年間ほとんど使用されていませんでした。
    • Emscripten は、可能な場合には内部で WASI システムコールを使用してコードを発行し、Emscripten 用の特別なバインディングを必要とせずに済みます。
    • ワシックス サポートされていない WASI システムコールのギャップを埋めるのに役立ちます (threadslongjmp/setjmpfork、…)
  • Wasmer が使用した依存関係の一部は長い間メンテナンスされていないか、より新しく安全なクレートによって複製されていました。

そのため、Emscripten のサポートを終了し、依存関係をトリミングすることを決定し、その結果、最終的な結果は次のようになりました。 20,000 行のコードが削除されました Wasmer コードベースにあります。

パフォーマンスの向上

モジュールの逆シリアル化が最大 50% 高速化されました (つまり、 Module::deserialize または、モジュールを実行するとき wasmer run)。

Wasmer の核心はパフォーマンスであり、バージョン 5.0 はそれを次のレベルに引き上げます。これらの改善は、重要なアップデートを活用しています。 ルキフ: モジュールを逆シリアル化するために使用するゼロコピー逆シリアル化ライブラリ。

以下は、最新の Wasmer と最新リリースを使用したすべてのバックエンドのベンチマークです。

Wasmer 5 WebAssembly モジュールを逆シリアル化する時間

アップグレードされたコンパイラ: Cranelift および LLVM 18

最新の Cranelift 統合により、実行速度が大幅に向上し、WebAssembly モジュールがこれまでよりも高速に実行されます。

Wasmer 5.0 には、最新バージョンの LLVM (18)、開発者がツールチェーンから最新の最適化にアクセスできるようにします。 LLVM アップグレードにより互換性とパフォーマンスが強化され、複雑な WebAssembly モジュールをコンパイルおよび実行するための堅牢な基盤が提供されます。

それに加えて、Wasmer 5.0 には実験版も同梱されています。 ロングアーチ64 サポート。

ベンチマークも行っています coremark 最新バージョンのコンパイラを使用して、それらがどのように比較されるかを確認します。
Wasmer 5 コアマークの結果

Wasmer v5.0 では、v4.4.0 と比較して LLVM と Cranelift が約 8% 高速になっています

飛び込む準備はできていますか?新しい機能の探索を開始する方法は次のとおりです。

  • Wasmer 5.0 をダウンロード: 最新バージョンを当社から入手してください 公式ウェブサイト
  • プロジェクトを更新する: 既存の Wasmer プロジェクトをアップグレードして、新しい機能を活用します。
  • ドキュメントを調べる: 詳細なガイドとチュートリアルについては、更新されたドキュメントをご覧ください。
  • コミュニティに参加する: Discord サーバーで他の開発者とつながり、経験を共有してください。

将来を見据えて

Wasmer 5.0 は、WebAssembly がもたらすエキサイティングな可能性のおかげで、開発者に力を与えるという私たちの使命において重要な前進となります。 iOS サポート、プラグイン可能なバックエンド アーキテクチャ、強化されたパフォーマンスにより、可能性は無限大です。 Wasmer で次に何を構築するかを見るのが待ちきれません。


最新情報を入手

Wasmerの旅にご参加いただきありがとうございます!

#Wasmer #の紹介 #ブログ #Wasmer

執筆者について: nipponese

Nipponese News編集部は、国内外のニュースを日本語で分かりやすくお届けします。