JavaScript覚書:IE6で文字列を扱うときの注意
text += "文字列";のようにしてしまうのですが、これはIE6(及びそのエンジンを使用するブラウザ)だと、時に致命的な速度低下を招く可能性があることに気がつきました。
{
var text = '' ;
for ( var ci=0; ci < 5000; ci++ ) {
text += ci + ': abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ' + '<br />\n' ;
}
} /* end of stringTest1() */
{
var text = '' ;
var tmpStrings = new Array() ;
for ( var ci=0; ci < 5000; ci++ ) {
tmpStrings[tmpStrings.length] = ci + ': abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ' + '<br />\n' ;
}
text = tmpStrings.join('') ;
} /* end of stringTest2() */
実際に試すには→こちらから。
| IE6 SP2 | Sleipnir2.48 IE Engine(*2) | Sleipnir2.48 Gecko Engine | Firefox1.5.0.7 | Opera9.01 | |
|---|---|---|---|---|---|
| t1(*1) | 2047ms | 2734ms | 146ms | 224ms | 78ms |
| t2(*1) | 31ms | 62ms | 109ms | 94ms | 68ms |
| t1-t2 | 2016ms | 2672ms | 37ms | 130ms | 10ms |
| t1/t2 | 6603% | 4387% | 134% | 238% | 115% |
(*2)どうも極端に遅い気がしたので、再起動後に取り直したものを掲載。
2006/11/08(水) 08:47 | 固定リンク
| 記事の編集(管理者用)
「パソコン・インターネット」カテゴリの記事
- 最近ツイートしていないけど(2012.03.07)
- 気をつけよう、通信料の無駄遣い(2012.03.07)
- いつもと環境が違うと戸惑う<Firefoxのキャプチャ用アドオン(2012.03.05)
- 意味も無くツイートボタンを付けてみる(2012.03.05)
- いまごろ、ひかり電話に加入(2012.03.03)
「覚書」カテゴリの記事
- ISBNとかキーワードをメールで送ると、リリース日を含む書籍情報が返るサービスを試作(2012.03.17)
- ココログのツイッターへのクロスポスト、デフォルトにはできない…?(2012.03.15)
- 春といっても、夜外に出ると寒いですねぇ。(2012.03.13)
- 明日できるなら、今日でもできるかも。うん。(2012.03.10)
- 最近ツイートしていないけど(2012.03.07)


Firefox2.0で試すと、
T1 200msec 44msec 54msec
T2 72msec 209msec 70msec
となって、T1とT2の差より各々のばらつきの方が大きいので、三回では試行が足りないようです。
投稿: おーの | 2006/11/08 23:57:35
| 三回では試行が足りないようです。
まぁ、朝は時間もなかったもので。
主旨は『IE6系で実行すると、実行に要する時間が数十倍違う』ということで、細かいデータについては各自で取得してください(^^;。
投稿: 風柳>おーの さん | 2006/11/09 0:15:13