HTML to JSX Compiler Loading...
HaxeからJSXをスパイ活動してきました@nobkzです Haxerから見たJSXについて。 そもそもなぜHaxerなのにJSXのAdvent Calendarに参加したか? 12月7にきしださんが主催していたイベントに参加したときのことでした。言語パフォーマンスについてのイベントで、いろいろと勉強になったのですが、それで、JSXの人(@kazuhoさん )が来ていました。普段AltJSとして、CoffeeScriptや、Haxe(AltJS以外でもですが。)、TypeScriptなどは書いたことがありましが、JSXは一番疎いところであり、また、「JSXは速い」って散々言われてそれに疑問を抱いていたので、丁度良い機会でした。 それで、いろいろとJSXの高速化の話しを聞き、なるほど納得して、じゃあ家に帰って実際にJSXでコードを書いてみようと思いました。んで何を思ったか、 「せっかくだしJ
JavaScript で高速なコードを書こうとする際に、はまりがちな罠と、JSX のコンパイラでどのように対処しているのかを紹介
JSX の進化速度が半端ない - ぐるぐる~ で紹介していただいているとおり、最新の JSX では function expression の型宣言を省略できるようになっています。これを利用して、たとえば配列の合計を求める場合、 var sum = 0; [ 1, 2, 3, 4, 5, 6, 7, 8 ].forEach(function (n) { sum += n; }); のように、JavaScript と 100% 同様に書くことができるようになりました。省略形を利用して [ ... ].forEach((n) -> { sum + n; }); でもいいです。 ところでこのコード、見た目は同じなんですが、実は JSX だと JavaScript よりも5倍以上速く動くんです。まだ最適化があまいところがあるのに。 なぜか。JavaScript の Array#forEach は配
JSX compilerのソースコードで検証してみました*1。 Mode Size(KiB) Ratio original 1507 1.00 JSX minifier 277 0.18 Closure Compiler/D 602 0.40 Closure Compiler/A 301 0.20 対象にしたソースコードがJSXから変換したJSというやや特殊な状況ですが、Closure CompilerのADVANCED_OPTIMIZATIONSよりもサイズが小さくなりました。また、ADVANCED_OPTIMIZATIONSと異なりJSX minifier*2はコードを破壊する圧縮は一切行わないので、圧縮したらコードが動かなくなるということが非常に起こりにくくなっています。しかしそれでも、JSXの豊富な型情報を使って圧縮すればADVANCED_OPTIMIZATIONSよりもサイズを小
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く