ラベル 味見部 の投稿を表示しています。 すべての投稿を表示
ラベル 味見部 の投稿を表示しています。 すべての投稿を表示

2013年5月5日日曜日

Web先端技術味見部 ページ一覧

個人用覚書です。

・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年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/

どうやら、
x = x|0;
と書けばxがint型になり、
x=+x;
と書くとxがdouble型になるなどのようです。う~ん、かなり特殊な書式ですね。
JSのサブセットなので、asm.jsに対応していないブラウザでもエラーで死んだりしないようにorだの+だのが使われているらしいのでしたっけ。
しかし型に厳密過ぎる書式なので、簡単なベンチマークコードを書こうとするだけでエラーが頻出し味見部皆で四苦八苦。

最終的にはどうにかこうにか動作するようになって、
  • ちゃんと書けばどうやら速いっぽい
  • やっぱり人間の手で書くものではないね……
という結論を得た味見部でありました。