WebAssembly: TinyGO vs Rust vs AssemblyScript
(ecostack.dev)- ブラウザで複雑な処理のためにWASMを使うなら、どの言語が最も速いのか?
- 10万個のランダム値を持つ配列を500回コピーしてソートするコードで速度を比較
- 結果としてはRustが最も少ないメモリ使用量で高速だった(JSよりおよそ20倍)
- 実行速度: Rust (2982ms) > AssemblyScript(6405ms) > Go(9717ms) > JavaScript(68720ms)
- ファイルサイズ: JavaScript (1.3kb) > AssemblyScript(4.7kb) > Go(37.0kb) > Rust (74.0kb)
- ファイルサイズも考慮するならAssemblyScriptも悪くない(Rustより2倍ほど遅いが、JSよりは10倍速い)
- Rustの実行速度はChromeで最も速かった。JavaScriptはFirefoxがChromeより3倍以上速い
1件のコメント
JavaScriptに不利な比較だったと思います。
配列を作る際に使ったデータ型が異なります。
JavaScriptの数値型は64ビット浮動小数点形式ですが、ほかの言語は32ビット整数型を使っていました。