asm.js/OdinMonkeyメモ
- yukikeiichi
- 14963
- 0
- 49
- 14
asm.js/OdinMonkeyについてdynamisさんの解説
JSには型固定配列が実装されていてそれを使えばかなり高速化されるので型のある言語で書いたコードをTyped Array使ったJSコードにコンパイルすれば手で書いた型なしJSコードより高速になる
2013-03-17 02:09:57JSでもn=n|0は常にintのように型を固定する書き方がある。C等からそんなアセンブラ的JSに変換するコンパイラとそんなJSを高速実行するよう改良したエンジンにより、JSは後方互換性を保ったままJava/C#以上の速度を実現可能な実行環境に進化する
2013-03-17 03:27:17アセンブラ的JSサブセットがasm.js、C等から変換するコンパイラがEmscripten、新しいJSエンジンがOdinMonkey。これによって既存ブラウザでは従来通りの速度で動作し、FirefoxならJava/C#以上の速度で動作するWebアプリが実現可能になる
2013-03-17 03:33:03互換性を捨てて既存ブラウザで動作しない新言語に移行せずとも、高速実行可能なJSのサブセットを定義することで、WebはNativeに匹敵する処理速度を実現可能。AndroidでJavaとCを連携させるように、FirefoxではJSとCからコンパイルされたasm.jsを連携させる
2013-03-17 03:40:27HTML5が示したようにWebで必須である後方互換性があるだけでなく、既存の多様な言語のライブラリを活用できるという点でも、新言語をブラウザに実装するよりもasm.jsの方が筋が良いと思う
2013-03-17 03:43:23Tracing JITを導入したTracemonkey、メソッドベースJITに移行したJägerMonkey、新しい中間言語による型推論を導入したIonMonkeyに続け、アセンブリJSを定義するOdinMonkeyによってようやくJSはNative言語に追いつく
2013-03-17 03:54:27特定ブラウザだけで速くなるなら、特定ブラウザだけ新言語を実行させ他ブラウザではその言語からJSに変換したものを実行させるのと実質的には同じ気もするが、全く別の実行エンジンを2つ積むのでなくJSエンジンの拡張だけで済むことと、既存資産継承のしやすさがasm.jsの利点か
2013-03-17 04:09:10規模が小さく見通し良いものが対象なら高速化しやすくバグも減るってことね。中間言語を整理したIonMonkeyにも通じるところを感じる RT @nalsh: @dynamitter asm.jsっていう小さいセットをブラウザが頑張って高速化すると、その上に乗ってる全てが速くなる
2013-03-17 04:16:58以下詳細
見てる: "asm.js: closing the gap between JavaScript and native" http://t.co/rwOo3PHC
2013-02-16 19:39:00asm.jsはMozillaの人たちなのか。LLJS関係あるのかなとか思ったんだけど関係ないのかな… "asm.js" http://t.co/8Li74PbC
2013-02-16 21:59:48asm.jsの仕様を元に、どのように動くのか、型と静的/動的チェック、OdinMonkey(asm.jsサポートしたSpiderMonkey)のパフォーマンス、ES6と未来などについて簡潔にまとまってる 「asm.js: closin…」 http://t.co/pdVik3L8
2013-02-17 00:36:21