レベルエンター山本大のブログ

面白いプログラミング教育を若い人たちに

BLOCKVROCKリファレンス目次はこちら

document.createElement()を10000回やると、FireFox3はIE6より30倍以上速い。

IEFirefoxで利用できるアプリを作ってる。

あまりにもIEが遅いのでどんなもんか計ってみた。

divを動的に繰り返して作るだけの以下のような検証アプリを作った。

繰り返しの回数を変えて検証してみた。

<html><script type="text/javascript">
<!--
window.onload = function(){
	var startdate = new Date();
	var cnt = 1000; 
	var parentDiv = document.getElementById("d");
	for (i = 0;i < cnt;i++){
		var elem = document.createElement("div");
		elem.id = "d" + i;
		elem.name = "d" + i;
		parentDiv.appendChild(elem);
		
	}
	var diff = new Date() - startdate;
	alert(diff)
-->
</script>
<body>
<form name="d" >
	<div id="d">
</form>
</body></html>
回数 IE6 FF3
100回 16 ms 14 ms
1000回 484 ms 142 ms
5000回 8610 ms 518 ms
10000回 37375 ms 1004 ms

*1

100回だとIEの方がちょっと速い。

1000回ぐらいだと大した差はない。

5000回から酷い差が出てくる。

しっかりめのAjaxアプリを作るとHTMLのDOM操作は

かなり多くなり、この辺はだいぶ影響してると思う。

*1:僕の環境はVAIO TX、Core Solo U1300(1.06GHz)、RAM 1GB