Home > tips > IE の JavaScript 高速化(参照回数が多い場合)

IE の JavaScript 高速化(参照回数が多い場合)

amachang さんのところで紹介されていました。

以下の一行をすべての JavaScript の前に読み込む

/*@cc_on _d=document;eval('var document=_d')@*/

この一行を読み込むことによって IE での document へのアクセスが 5 倍速くなります。

だそうです。

試しにテストコードを走らせてみると、

// Before
var date = new Date;
for (var i = 0; i < 100000; i++) document;

alert(new Date - date); // 2474

// After
/*@cc_on _d=document;eval('var document=_d')@*/

var date = new Date;
for (var i = 0; i < 100000; i++) document;

alert(new Date - date); // 243

10倍以上速くなっていました。(Pentium III 700MHz )

ただ、一般的な JavaScript を使用するページでは、document への参照が 10 万回を超えるようなことはそうそう無いと思いますので、ループを 100 回に減らして計測してみました。

結果、どちらでも所要時間が 1 msec 以下でした。

と、いうことで、現在 JavaScript でページのギミックをガリガリ書かかれてる方で、このおまじないの恩恵に与れる方は少ないと思います。

JScりpt の @cc_on について

tips ,

  1. コメントはまだありません。
  1. No trackbacks yet.