Wasm3が最小メンテナンス段階に移行
(github.com/wasm3)- Wasm3 は高速な WebAssembly インタープリタであり、汎用 WASM ランタイムを目指しているが、新機能の開発を停止し、最小メンテナンス段階に入る
- 開発者はロシアの侵攻で自宅が破壊された後、新機能開発を続けられなくなったとし、プロジェクトは維持しつつ、届いた Pull Request を確認・マージしていくと明らかにした
wasm3は WebAssembly spec testsuite を通過しており、多くのWASIアプリを実行でき、最小限実用的なシステム要件はコード約 64KB、RAM 約 10KB- x86, x86_64, ARM, RISC-V, PowerPC, MIPS, Xtensa, ARC32 などの複数アーキテクチャと、Linux, Windows, OS X, FreeBSD, Android, iOS, MCU, ブラウザ、自分自身の実行まで対応
- インタープリタ方式は、実行ファイルサイズ、メモリ使用量、起動遅延、移植性、セキュリティ、統合のしやすさで利点があり、iOS や WebAssembly 自体のようにランタイムでコードページを生成できない環境では JIT を使えない
メンテナンス状況の変化
- Wasm3 は 最小メンテナンス段階に入る
- 新機能の開発を続けるのは難しい状況
- プロジェクトは維持され、届いた Pull Request は積極的に確認・マージする予定
- コミュニティの貢献がこれまで以上に重要になる
- 開発者は、ロシアの侵攻で自宅が破壊された後、現在は新機能開発を続けられないと述べている
Wasm3 が提供するもの
- Wasm3 は 高速な WebAssembly インタープリタであり、汎用 WASM ランタイムを目標としている
- 性能に関する主張は CoreMark 1.0 と 独立ベンチマーク に基づく
- 実際の性能は環境によって異なる場合がある
- ライブラリとして利用できる言語・環境も多い
実行環境と要件
wasm3は WebAssembly spec testsuite を通過している- 多くの
WASIアプリを実行できる - 最小限実用的なシステム要件は以下の通り
- コード: 約 64KB
- RAM: 約 10KB
- 対応アーキテクチャの範囲は広い
x86,x86_64,ARM,RISC-V,PowerPC,MIPS,Xtensa,ARC32など
- 対応プラットフォームと環境も多様
- Linux, Windows, OS X, FreeBSD, Android, iOS
- OpenWrt, Yocto, Buildroot ベースのルーター・モデム
- Raspberry Pi, Orange Pi などの SBC
- Arduino, ESP8266, ESP32, Particle などの MCU
- ブラウザ上で WebAssembly 自体を使って実行可能
wasm3がwasm3を実行する セルフホスティング も可能
WebAssembly 機能のサポート
- サポートされる WebAssembly 提案機能
- Import/Export of Mutable Globals
- Non-trapping float-to-int conversions
- Sign-extension operators
- Multi-value
- Bulk memory operations は 一部サポート
- Custom page size
- 追加機能
- 構造化された実行トレース
- Big-Endian システムのサポート
- Wasm および WASI のセルフホスティング
- Gas metering
- 線形メモリ制限: 64KiB 未満
- まだ進行中または未サポートの項目もある
- 進行中: Multiple memories, Reference types
- 未サポート: Tail call optimization, Fixed-width SIMD, Exception handling, Stack Switching
インタープリタを選ぶ理由と組み込み WASM
- 速度が常に最重要要件とは限らず、インタープリタ方式には多くの場面で利点がある
- ランタイム実行ファイルサイズ、メモリ使用量、起動遅延を改善できる
- 移植性とセキュリティを達成・維持しやすい
- Wasm3 のようなシンプルなライブラリは既存プロジェクトにコンパイル・統合しやすく、ビルドは数秒で完了する
- 一部プラットフォームでは JIT を使用できない
- iOS と WebAssembly 自体では、ランタイムに実行コードページを生成できない
- 組み込みデバイスで WASM を実行する理由も示されている
- Wasm3 は研究プロジェクトとして始まり、さまざまな環境でエンジンを評価することも研究の一部
- MCU ですでに
Lua,JS,Python,Lispなどが動作している状況では、WebAssemblyも代替になり得る - WebAssembly はツールチェーンの分離と、完全にサンドボックス化された、よく定義され予測可能な環境を提供する
- 実用的な事例として edge computing、スクリプティング、プラグインシステム、
IoT rules、スマートコントラクトなどがある
1件のコメント
Hacker News のコメント
匿名アカウントなので自慢のように感じずに言えますが、寄付をし、荒らしを通報し、偽情報に対抗し、政治家に圧力をかけるなど、できることをしてきました。それでもウクライナの人々にはまだ借りがあるように感じています
あなたは一人ではありませんし、ほかの人たちにも、政治家に働きかけたり、民間人や前線の英雄たちを寄付で支援したり、偽情報を通報したりするような小さな行動をしてほしいと思います
Volodymyrがロシアによるウクライナ侵攻の中でもプロジェクトを維持しようと奮闘している間、どうか持ちこたえてほしいですし、戦争が早く終わることを願っています
性能は非常に高く、アーキテクチャとコードの美しさも確かに印象的です
リンク先のツイートは2022年9月のもので、破壊された家の映像を示し、支援したい人に寄付を呼びかけています
EUはウクライナを支援するために、もっと多くの現金を拠出すべきです