wasm3、WebAssemblyインタープリターが最初のバージョンをリリース

W3

最近では、 wasm3の最初のバージョンがリリースされました、これは 通訳者 非常に高速な中間コード WebAssemblyによるこれは主に、WebAssemblyのJIT実装がないマイクロシステムおよびプラットフォームでWebAssemblyアプリケーションを実行するように設計されているため、JITが機能するのに十分なメモリがないか、JIT実装に必要な実行可能メモリページの作成がありません。

WebAssemblyに慣れていない人は、これが 低レベルの言語、 当初はCおよびC ++からコンパイルするときにターゲット形式として設計されましたが、RustやGoなどの他の言語のソースコードもサポートしています。 このポータブルバイナリコード形式は、クライアント側のブラウザからスクリプトを完全に実行するために使用されます。

wasm3について

Wasm3は互換性テストに合格します WebAssembly1.0仕様と 多くのWASIアプリケーションを実行するために使用できます。 JITエンジンの4〜5分の11.5のパフォーマンスと、ネイティブコードの実行のXNUMX分のXNUMXのパフォーマンスしか提供しません。

他のパフォーマーと比較して WebAssembly(wac、life、wasm-micro-runtime)から、 wasm3は15.8倍高速でした。

Wasm3は研究プロジェクトとして始まり、多くの手段でそうなり続けています。 さまざまな環境でのモーターの評価は、調査の一部です。 Lua、JS、Python、Lisp、(…)がMCUで実行されているため、WebAssemblyは実際には有望な代替手段です。 完全に分離され、明確に定義され、予測可能な環境を提供します。 実際の使用例の中には、最先端のコンピューティング、スクリプト、IoTルールの実行、ブロックチェーン契約などをリストできます。

wasm3 コード用に64Kbのメモリと10KbのRAMが必要です。 あなたは何 プロジェクトの使用を許可します コンパイルされたアプリケーションをWebAssemblyで実行する のようなマイクロ波で Arduino MKR *、Arduino Due、Particle Photon、ESP8266、ESP32、Air602(W600)、nRF52、nRF51 Blue Pill(STM32F103C8T6)、MXChip AZ3166(EMW3166)、Maix(K210)、HiFive1(E310)、AT40ga5(ICE1284gaXNUMX) 、 アーキテクチャに基づいたボードやコンピュータだけでなく x86、x64、ARM、MIPS、RISC-V、およびXtens。

Massey MetaMachine技術を使用することで高性能を実現 (M3)通訳では、 バイトコードのデコードのオーバーヘッドを削減します、バイトコード 積極的に翻訳されています 疑似マシンコードを生成し、スタックされた仮想マシンの実行モデルがより効率的なレジスタアプローチになるより効率的な操作では、M3の操作はC関数であり、その引数は仮想マシンのレジスタであり、反映できます。 CPUレジスタで。

最適化のための頻繁なワークフローは、要約操作に変わります。

さらに、 研究の結果は、Alexaによって評価された最も人気のある948千のサイトを分析した後、Web上のWebAssemblyで観察できます。 WebAssemblyは1639サイト(0.17%)で使用されており、1サイトに600つです。

合計で、Webサイトは1950のWebAssemblyモジュールの負荷を明らかにしました。そのうち150は一意です。

WebAssemblyの範囲を検討すると、期待外れの結論が導き出されました。50%以上のケースで、WebAssemblyは悪意のある目的で使用されました。たとえば、暗号通貨のマイニング(55,7%)や悪意のあるスクリプトからのコードの隠蔽(0,2 、XNUMX%)。

サポートされているオペレーティングシステムの Wasm3の場合、 Linuxを見つけることができます OpenWRTベースのルーターを含む Windows、macOS、Android、iOS。 また、wasm3を中間のWebAssemblyコードにコンパイルして、ブラウザーでインタープリターを実行したり、セルフホスティングを行ったりすることもできました。

WebAssemblyの合法的な使用のうち、ライブラリの実行(38.8%)、ゲームの作成(3.5%)、およびJavaScript以外のネイティブコードの実行(0.9%)が観察されました。 14,9%のケースで、WebAssemblyを使用してユーザー識別(指紋)のための環境を分析しました。

wasm3をお試しください

システムでこのインタープリターを使用できるようにすることに関心がある人は、 ドキュメントとプロジェクトコードを参照できます これはCで書かれ、MITライセンスの下で配布されます。 次のリンクで。


コメントを最初に

コメントを残す

あなたのメールアドレスが公開されることはありません。 必須フィールドには付いています *

*

*

  1. データの責任者:MiguelÁngelGatón
  2. データの目的:SPAMの制御、コメント管理。
  3. 正当化:あなたの同意
  4. データの伝達:法的義務がある場合を除き、データが第三者に伝達されることはありません。
  5. データストレージ:Occentus Networks(EU)がホストするデータベース
  6. 権利:いつでも情報を制限、回復、削除できます。