asm.jsを触ってみたので所感など。 asm.jsはJavaScriptのサブセットで、限られた型しか使えないが高速に動作する言語との事。とりあえずどの程度速くなるのか、計算量が多くなるfibonacciの実装で試してみた。参考資料はasm.jsの仕様ぐらいしか無かったのでこれを見ながら。 で、実際に書いてみると型がゆるゆるなJavaScriptのイメージは脆くも崩れ去り、厳格な型チェックの世界である事がわかった。コンパイル言語を書いている時の頭に切り換えないと、コンパイルエラーと延々格闘する事になる。まずはasm.jsのコードは次の形式で、module exportする。 function create_my_asm_module(stdlib, foreign, heap) { "use asm"; function hoge() {...} function fuga() {...
![asm.jsを手書きしつつフィボナッチで速度比較をしてみる](https://cdn-ak-scissors.b.st-hatena.com/image/square/89d9f96aec3bf2571a06adedfcf68c8a659c0c06/height=288;version=1;width=512/https%3A%2F%2F4.bp.blogspot.com%2F-c959efDcASo%2FXJrIpe9fskI%2FAAAAAAAAAt8%2FTxni2PFW0BglmJTSq1qBBZygn3Q0G1YLQCPcBGAYYCw%2Fs320%2Fblogicons_blogger.png)