2006-01-12
for 文 2.0(笑)
まぁ、かなり知られてる話ですが JavaScript は .(ドット) の計算がかなり遅い。まぁ、簡単なスクリプトなら問題にならないが。web2.0的には大違いなのであります。ちなみに、.(ドット) の計算に比較演算の 3 倍のコストがかかる(IEはとくに)。
ということで、for 文は下のように(比較に .(ドット) を使わない)書くくせをつけましょう。地道な差が大きなパフォーマンスを生みます。
// for 文 2.0
for(var i = 0, len = array.length; i < len; i++) {
....
}
各種ライブラリの for 文 1.0 を for 文 2.0 化するだけで、CPU 使用率がけっこう下がりました。
予断ですが、間違っても .(ドット) を避けるために with 文を使うようなことはやめてください。 with 文のコストは 比較演算の 8 倍ですw。むしろ、with 文を .(ドット) に直しましょうw
トラックバック - http://d.hatena.ne.jp/amachang/20060112/1137085710
- 「for 文 2.0」からのメタメッセージ
- length プロパティのパフォーマンス
- http://d.hatena.ne.jp/brazil/20060519
- http://d.hatena.ne.jp/bellbind/20060628
- http://d.hatena.ne.jp/yheld/20070830
- the time ship - iPod touchでBPMを計るツールを作りました
- すけすけ。 - getElementsByClassの修正版
- yagihiro output - [asin:4873113296:title] 輪講(1)
- mazgiの日記 - 1229635229*[JavaScript]getElementsByClassの修正版
リンク元
- 2 http://feedbringer.net/feed
- 2 http://secure.ddo.jp/~kaku/tdiary/
- 1 http://b.hatena.ne.jp/YasSo/20060107
- 1 http://b.hatena.ne.jp/keyword/script.aculo.us?sort=hot
- 1 http://bloglines.com/myblogs_display?sub=22445426&site=3523395
- 1 http://cl.pocari.org/
- 1 http://d.hatena.ne.jp/keyword/IMAP
- 1 http://del.icio.us/BNJ
- 1 http://del.icio.us/uemura?v=3&url=http://d.hatena.ne.jp/amachang/20060112/1137085710&title=IT戦記 - for 文 2.0(笑)
- 1 http://egone.org/log.cgi?s=1&genre=0&ym=060105&sq=
