日記:2021-04-06
比較対象である JavaScript 版は既に俺の手によって適当に盆栽されている
結果としては…
盆栽しない WASM (with -O3) より盆栽した JavaScript のほうが早かった
しかし WASM でも uint32_t を使うように盆栽したら盆栽済みJavaScript版よりちょっと早くなった?
Firefoxで、何回も呼び出しているとたまに実行時間が通常の2〜5倍くらい伸びる
謎 (適当にプロファイル取ってもわからなかった)
結果としては
以下のような事情があるならおすすめ
既存のネイティブ世界のライブラリをWebの世界に持っていく
ネイティブアプリ or サーバーとロジックを共通化したい
WASMでしか動かさなくて、JSが超苦手な処理をやる、とかでなければ WASM はコストに見合わないかもしれない
JavaScript で盆栽やるか WASM にコンパイルする元の言語で盆栽やるかみたいになる
どっちが良いかは人によるだろうけど