|
From: Richard B. <ric...@us...> - 2001-11-08 14:25:46
|
Update of /cvsroot/dynapi/dynapi/tests
In directory usw-pr-cvs1:/tmp/cvs-serv11983
Added Files:
precreation_speedtest.html
Log Message:
precreation speedtest
--- NEW FILE ---
<html>
<head>
<title>Precreation speedtest</title>
<script language="Javascript" src="../src/dynapi.js"></script>
<script language="Javascript">
DynAPI.setLibraryPath('../src/lib/');
DynAPI.include('dynapi.api.*');
DynAPI.include('dynapi.event.*');
</script>
<script language="Javascript">
myHtml="test"
//Creates 49 childlayers of 1 dynlayer, using precreation.
function make50Precreate(){
start=new Date()
myLayers=[]
myLayers[0] = new DynLayer(null,100,200,500,500,"#AA0000",null,null,null,myHtml)
for(i=1;i<51;i++){
c="#BB"+(i-1)+"A"+(i-1)+"A"
myLayers[i] = new DynLayer(null,30,40,500,500,c,null,null,null,myHtml)
myLayers[i-1].addChild(myLayers[i])
if(i==50)DynAPI.document.addChild(myLayers[0])
}
alert(new Date()-start+" milliseconds")
}
//Creates 49 childlayers of 1 dynlayer, without using precreation.
function make50(){
start=new Date()
myLayers=[]
myLayers[0] = new DynLayer(null,100,200,500,500,"#AA0000",null,null,null,myHtml)
DynAPI.document.addChild(myLayers[0])
for(i=1;i<51;i++){
c="#DD"+(i-1)+"D"+(i-1)+"D"
myLayers[i] = new DynLayer(null,30,40,500,500,c,null,null,null,myHtml)
myLayers[i-1].addChild(myLayers[i])
}
alert(new Date()-start+" milliseconds")
}
//Creates 49 childlayers of 1 dynlayer, using precreation.
//They are all dragEnabled at creation
function make50PrecreateDrag(){
start=new Date()
myLayers=[]
myLayers[0] = new DynLayer(null,100,200,500,500,"#AA0000",null,null,null,myHtml)
for(i=1;i<51;i++){
c="#BB"+(i-1)+"A"+(i-1)+"A"
myLayers[i] = new DynLayer(null,30,40,500,500,c,null,null,null,myHtml)
DragEvent.enableDragEvents(myLayers[i])
myLayers[i-1].addChild(myLayers[i])
if(i==50){
DynAPI.document.addChild(myLayers[0])
DragEvent.enableDragEvents(myLayers[0])
}
}
alert(new Date()-start+" milliseconds")
}
//Creates 49 childlayers of 1 dynlayer, without using precreation.
//They are all dragEnabled at creation
function make50Drag(){
start=new Date()
myLayers=[]
myLayers[0] = new DynLayer(null,100,200,500,500,"#AA0000",null,null,null,myHtml)
DynAPI.document.addChild(myLayers[0])
DragEvent.enableDragEvents(myLayers[0])
for(i=1;i<51;i++){
c="#DD"+(i-1)+"D"+(i-1)+"D"
myLayers[i] = new DynLayer(null,30,40,500,500,c,null,null,null,myHtml)
DragEvent.enableDragEvents(myLayers[i])
myLayers[i-1].addChild(myLayers[i])
}
alert(new Date()-start+" milliseconds")
}
//Creates 49 childlayers of 1 dynlayer, using precreation.
//They are all dragEnabled after creation
function make50PrecreateDrag2(){
start=new Date()
myLayers=[]
myLayers[0] = new DynLayer(null,100,200,500,500,"#AA0000",null,null,null,myHtml)
for(i=1;i<51;i++){
c="#BB"+(i-1)+"A"+(i-1)+"A"
myLayers[i] = new DynLayer(null,30,40,500,500,c,null,null,null,myHtml)
myLayers[i-1].addChild(myLayers[i])
if(i==50)DynAPI.document.addChild(myLayers[0])
}
for(i=0;i<51;i++){
DragEvent.enableDragEvents(myLayers[i])
}
alert(new Date()-start+" milliseconds")
}
//Creates 49 childlayers of 1 dynlayer, without using precreation.
//They are all dragEnabled after creation
function make50Drag2(){
start=new Date()
myLayers=[]
myLayers[0] = new DynLayer(null,100,200,500,500,"#AA0000",null,null,null,myHtml)
DynAPI.document.addChild(myLayers[0])
for(i=1;i<51;i++){
c="#DD"+(i-1)+"D"+(i-1)+"D"
myLayers[i] = new DynLayer(null,30,40,500,500,c,null,null,null,myHtml)
myLayers[i-1].addChild(myLayers[i])
}
for(i=0;i<51;i++){
DragEvent.enableDragEvents(myLayers[i])
}
alert(new Date()-start+" milliseconds")
}
</script>
</head>
<body >
This is a stress test to see in which browsers precreation is an advantage, and in which it isn't.<br />
For the best results refresh the browser between tests.<br /><br />
1) <a class="testClass" href="#" onclick="make50Precreate();return false">make 50 using precreate</a><br />
2) <a class="testClass" href="#" onclick="make50();return false">make 50 without precreate</a><br />
3) <a class="testClass" href="#" onclick="make50PrecreateDrag();return false">make 50 using precreate - dragenabled at creation</a><br />
4) <a class="testClass" href="#" onclick="make50Drag();return false">make 50 without precreate - dragenabled at creation</a><br />
5) <a class="testClass" href="#" onclick="make50PrecreateDrag2();return false">make 50 using precreate - dragenabled after creation</a><br />
6) <a class="testClass" href="#" onclick="make50Drag2();return false">make 50 without precreate - dragenabled after creation</a><br />
<br /><b>My results:</b><br />
Taken on Win2000 P3 500Mhz 400+MB Ram:<br /><br />
<table><tr><td>
IE5.5:------<br />
1) 340<br />
2) 280<br />
3) 1292<br />
4) 411<br />
5) 421<br />
6) 360<br />
<br />
</td><td>
Mozilla 0.93:--<br />
1) 181<br />
2) 341<br />
3) 3665<br />
4) 560<br />
5) 430<br />
6) 551<br />
<br />
</td><td>
NS 4.7:------<br />
1) 200<br />
2) 770<br />
3) 881<br />
4) 782<br />
5) 220<br />
6) 682<br />
<br />
</td></tr></table>
Taken on Win95 VMWare 200+MB Ram:<br /><br />
<table><tr><td>
IE4:------<br />
1) 330<br />
2) 880<br />
3) 940<br />
4) 830<br />
5) 440<br />
6) 830<br />
<br />
</td><td></table>
Taken on Win98 VMWare 200+MB Ram:<br /><br />
<table><tr><td>
IE6:------<br />
1) 380<br />
2) 610<br />
3) 2140<br />
4) 660<br />
5) 440<br />
6) 440<br />
<br />
</td><td>
NS6:------<br />
1) 330<br />
2) 660<br />
3) 2750<br />
4) 490<br />
5) 390<br />
6) 610<br />
<br />
</td><td></table>
</body>
</html>
|