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> |