個人用覚書です。
・Twitterアカウント
https://twitter.com/ajimibu
・facebookページ
http://www.facebook.com/ajimibu
・#0 「WebRTC」
http://atnd.org/events/26823
・#4 「JSX」
http://atnd.org/events/29466
・#7 「Three.js」
http://atnd.org/events/30927
・#8 「BinaryJS」
http://atnd.org/events/31380
・#12 「Adobe Edge Tools & Services」
http://atnd.org/events/33151
・#14 「Firefox OS」
http://atnd.org/events/33981
http://togetter.com/li/407841
・#15 「ECMAScript6」
http://atnd.org/events/35850
・#16 「Web Speech API」
http://atnd.org/events/36363
・#17 「Google Cloud Endpoints」
http://atnd.org/events/37169
・#18 「帰ってきた WebRTC」(不参加)
http://atnd.org/events/37932
・#19 「asm.js」
http://atnd.org/events/38706
http://tekepata.blogspot.jp/2013/04/20130418-web19.html
2013年5月5日日曜日
2013年4月21日日曜日
2013/04/18 Web先端技術味見部#19 に参加しました
Web先端技術味見部#19に参加してきました。
http://atnd.org/events/38706
・Togetter
http://togetter.com/li/489752
今回のテーマは「asm.js」というものでした。
そもそもasm.jsってなんぞ? という話ですが、それはPublickeyさんがまとめられています。
http://www.publickey1.jp/blog/13/asmjsjavascript.html
私はasm.jsとても実行速度の速いちょっと特殊なJavaScriptであるとざっくり理解しました。
asm.jsはmozillaが提唱しているものなので、今はFirefoxでしか動作しません。
では、asm.jsがどんなものか実際に触ってみましょう(味見部名物味見)ということで、始めはこちらを参考に進みました。
http://ejohn.org/blog/asmjs-javascript-compile-target/
どうやらCやC++のコードをLLVMを用いてゴニョゴニョしてasm.jsのJavaScriptコードに変換することが出来るようです。
で、途中からは仕様書から抜粋されている説明であるということで、仕様書を直接読んで進めることに。
・asm.jsの仕様書
http://asmjs.org/spec/latest/
どうやら、
JSのサブセットなので、asm.jsに対応していないブラウザでもエラーで死んだりしないようにorだの+だのが使われているらしいのでしたっけ。
しかし型に厳密過ぎる書式なので、簡単なベンチマークコードを書こうとするだけでエラーが頻出し味見部皆で四苦八苦。
最終的にはどうにかこうにか動作するようになって、
http://atnd.org/events/38706
・Togetter
http://togetter.com/li/489752
今回のテーマは「asm.js」というものでした。
そもそもasm.jsってなんぞ? という話ですが、それはPublickeyさんがまとめられています。
http://www.publickey1.jp/blog/13/asmjsjavascript.html
私はasm.jsとても実行速度の速いちょっと特殊なJavaScriptであるとざっくり理解しました。
asm.jsはmozillaが提唱しているものなので、今はFirefoxでしか動作しません。
では、asm.jsがどんなものか実際に触ってみましょう(味見部名物味見)ということで、始めはこちらを参考に進みました。
http://ejohn.org/blog/asmjs-javascript-compile-target/
どうやらCやC++のコードをLLVMを用いてゴニョゴニョしてasm.jsのJavaScriptコードに変換することが出来るようです。
で、途中からは仕様書から抜粋されている説明であるということで、仕様書を直接読んで進めることに。
・asm.jsの仕様書
http://asmjs.org/spec/latest/
どうやら、
x = x|0;と書けばxがint型になり、
x=+x;と書くとxがdouble型になるなどのようです。う~ん、かなり特殊な書式ですね。
JSのサブセットなので、asm.jsに対応していないブラウザでもエラーで死んだりしないようにorだの+だのが使われているらしいのでしたっけ。
しかし型に厳密過ぎる書式なので、簡単なベンチマークコードを書こうとするだけでエラーが頻出し味見部皆で四苦八苦。
最終的にはどうにかこうにか動作するようになって、
- ちゃんと書けばどうやら速いっぽい
- やっぱり人間の手で書くものではないね……
登録:
投稿 (Atom)