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 | 固定リンク
| 記事の編集(管理者用)
「パソコン・インターネット」カテゴリの記事
- ツールを作る側は対象に与える影響をどこまで気にするか?(2008.05.29)
- "『無断リンクはやめて』という人にはしない方向で"の思考過程(2008.05.24)
- 『無断リンクはやめて』という人にはしない方向で(2008.05.22)
- ちょっと小細工:textareaの高さを自動調節(2008.05.21)
- Yin and Yang:動作改善(?)他(2008.05.14)
「覚書」カテゴリの記事
- ちょっと小細工:textareaの高さを自動調節(2008.05.21)
- Google検索結果画面のHTML構造、変わりました?(2008.04.30)
- Googleの検索結果からH2タグが消える現象の原因(2008.05.03)
- 【JScript】ActiveXObject('htmlfile')で発生する不具合(2008.04.05)
- 【JavaScript】onmouseover/onmouseoutの振る舞い(2008.03.11)


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