pastebin - collaborative debugging

pastebin is a collaborative debugging tool allowing you to share and modify code snippets while chatting on IRC, IM or a message board.

This site is developed to XHTML and CSS2 W3C standards. If you see this paragraph, your browser does not support those standards and you need to upgrade. Visit WaSP for a variety of options.

Javascript pastebin - collaborative debugging tool View Help


Posted by AoRGuNNeT on Tue 23 Dec 18:28
report abuse | View followups from Anonymous | download | new post

  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  2.  
  3. <html>
  4. <head>
  5.         <title>Javascript performance test</title>
  6.        
  7.         <style>
  8.                 body, span{font-family: verdana, sans serif; font-size: 12px;}
  9.                 input{margin-right: 20px;}
  10.                 span{padding-left: 20px;}
  11.         </style>
  12.         <script>
  13.                
  14.                
  15.                 var start;
  16.                 var end;
  17.                 var forLoopTime = 0;
  18.                 var addTime = 0;
  19.                 var subtractTime = 0;
  20.                 var multiplyTime = 0;
  21.                 var divideTime = 0;
  22.                 var divide2Time = 0;
  23.                 var fromArrayTime = 0;
  24.                 var parseIntTime = 0;
  25.                 var varTime = 0;
  26.                 var sinTime = 0;
  27.                 var floorTime = 0;
  28.                 var ifTime = 0;
  29.                 var readGlobalTime = 0;
  30.                 var concatStringsTime = 0;
  31.                 var sortArrayTime = 0;
  32.                
  33.                 gValue = 123;
  34.                
  35.                 var continueAfter = false;
  36.        
  37.                 function testFor()
  38.                 {
  39.                         start = new Date();
  40.                         for (var i=0; i<=1000000; i++)
  41.                         {
  42.                                 void(0);
  43.                         }
  44.                         end = new Date();
  45.                         forLoopTime = end-start;
  46.                         var textElem = document.createTextNode(forLoopTime + 'ms  ')
  47.                         document.getElementById('forResult').appendChild(textElem);
  48.                         completed();
  49.                 }
  50.                
  51.                 function testAdd()
  52.                 {
  53.                                 var value1=123;
  54.                                 var value2=234;
  55.                                 var value3;
  56.                                 start = new Date();
  57.                                 for (var i=0; i<=1000000; i++)
  58.                                 {
  59.                                         value3 = value1 + value2;
  60.                                 }
  61.                                 end = new Date();
  62.                                 addTime = end-start;
  63.                                 var textElem = document.createTextNode(addTime + 'ms  ')
  64.                                 document.getElementById('addResult').appendChild(textElem);
  65.                                 completed();
  66.                 }
  67.                
  68.                 function testSubtract()
  69.                 {
  70.                                 var value1=123;
  71.                                 var value2=234;
  72.                                 var value3;
  73.                                 start = new Date();
  74.                                 for (var i=0; i<=1000000; i++)
  75.                                 {
  76.                                         value3 = value2 - value1
  77.                                 }
  78.                                 end = new Date();
  79.                                 subtractTime = end-start;
  80.                                 var textElem = document.createTextNode(subtractTime + 'ms  ')
  81.                                 document.getElementById('subtractResult').appendChild(textElem);
  82.                                 completed();
  83.                 }
  84.                
  85.                 function testMultiply()
  86.                 {       
  87.                                 var value1=123;
  88.                                 var value2=234;
  89.                                 var value3;
  90.                                 start = new Date();
  91.                                 for (var i=0; i<=1000000; i++)
  92.                                 {
  93.                                         value3 = value2 * value1
  94.                                 }
  95.                                 end = new Date();
  96.                                 multiplyTime = end-start;
  97.                                 var textElem = document.createTextNode(multiplyTime + 'ms  ')
  98.                                 document.getElementById('multiplyResult').appendChild(textElem);
  99.                                 completed();
  100.                 }
  101.                
  102.                 function testDivide()
  103.                 {
  104.                                 var value1=123;
  105.                                 var value2=234;
  106.                                 var value3;
  107.                                 start = new Date();
  108.                                 for (var i=0; i<=1000000; i++)
  109.                                 {
  110.                                         value3 = value2 / value1
  111.                                 }
  112.                                 end = new Date();
  113.                                 divideTime = end-start;
  114.                                 var textElem = document.createTextNode(divideTime + 'ms  ')
  115.                                 document.getElementById('divideResult').appendChild(textElem);
  116.                                 completed();
  117.                 }
  118.                
  119.                 function testDivide2()
  120.                 {
  121.                                 var value1=123;
  122.                                 var value2=234;
  123.                                 var value3;
  124.                                 start = new Date();
  125.                                 var temp= (1 / value1);
  126.                                 for (var i=0; i<=1000000; i++)
  127.                                 {
  128.                                         value3 = value2 * temp
  129.                                 }
  130.                                 end = new Date();
  131.                                 divide2Time = end-start;
  132.                                 var textElem = document.createTextNode(divide2Time + 'ms  ')
  133.                                 document.getElementById('divide2Result').appendChild(textElem);
  134.                                 completed();
  135.                 }
  136.                
  137.                
  138.                
  139.                 function testFromArray()
  140.                 {
  141.                                 var value3;
  142.                                 var value4 = new Array(1,2,3,4,5,6,7,8,9,10)
  143.                                 start = new Date();
  144.                                 for (var i=0; i<=1000000; i++)
  145.                                 {
  146.                                         value3 = value4[6]
  147.                                 }
  148.                                 end = new Date();
  149.                                 fromArrayTime = end-start;
  150.                                 var textElem = document.createTextNode(fromArrayTime + 'ms  ')
  151.                                 document.getElementById('fromArrayResult').appendChild(textElem);
  152.                                 completed();
  153.                 }
  154.                
  155.                 function testParseInt()
  156.                 {
  157.                                 var value3;
  158.                                 start = new Date();
  159.                                 for (var i=0; i<=1000000; i++)
  160.                                 {
  161.                                         value3 = parseInt(123.23)
  162.                                 }
  163.                                 end = new Date();
  164.                                 parseIntTime = end-start;
  165.                                 var textElem = document.createTextNode(parseIntTime + 'ms  ')
  166.                                 document.getElementById('parseIntResult').appendChild(textElem);
  167.                                 completed();
  168.                 }
  169.                
  170.                 function testVar()
  171.                 {
  172.                                 start = new Date();
  173.                                 for (var i=0; i<=1000000; i++)
  174.                                 {
  175.                                         var a=1; var b=2; var c=3;
  176.                                 }
  177.                                 end = new Date();
  178.                                 varTime = end-start;
  179.                                 var textElem = document.createTextNode(varTime + 'ms  ')
  180.                                 document.getElementById('varResult').appendChild(textElem);
  181.                                 completed();
  182.                        
  183.                 }
  184.                
  185.                 function testSin()
  186.                 {
  187.                         var value3;
  188.                         start = new Date();
  189.                         for (var i=0; i<=1000000; i++)
  190.                         {
  191.                                 value3 = Math.sin(.1)
  192.                         }
  193.                         end = new Date();
  194.                         sinTime = end-start;
  195.                         var textElem = document.createTextNode(sinTime + 'ms  ')
  196.                         document.getElementById('sinResult').appendChild(textElem);
  197.                         completed();                   
  198.                 }
  199.                
  200.                 function testFloor()
  201.                 {
  202.                         var value3;
  203.                         start = new Date();
  204.                         for (var i=0; i<=1000000; i++)
  205.                         {
  206.                                 value3 = Math.floor(43.341)
  207.                         }
  208.                         end = new Date();
  209.                         floorTime = end-start;
  210.                         var textElem = document.createTextNode(floorTime + 'ms  ')
  211.                         document.getElementById('floorResult').appendChild(textElem);
  212.                         completed();                   
  213.                 }
  214.                
  215.                 function testIf()
  216.                 {
  217.                         var value1=123;
  218.                         start = new Date();
  219.                         for (var i=0; i<=1000000; i++)
  220.                         {
  221.                                 if (value1<12)
  222.                                 {
  223.                                         void(0);
  224.                                 }
  225.                         }
  226.                         end = new Date();
  227.                         ifTime = end-start;
  228.                         var textElem = document.createTextNode(ifTime + 'ms  ')
  229.                         document.getElementById('ifResult').appendChild(textElem);
  230.                         completed();                   
  231.                 }
  232.                
  233.                 function testReadGlobal()
  234.                 {
  235.                         var value
  236.                         start = new Date();
  237.                         for (var i=0; i<=1000000; i++)
  238.                         {
  239.                                 value = gValue;
  240.                         }
  241.                         end = new Date();
  242.                         readGlobalTime = end-start;
  243.                         var textElem = document.createTextNode(readGlobalTime + 'ms  ')
  244.                         document.getElementById('readGlobalResult').appendChild(textElem);
  245.                         completed();                   
  246.                 }
  247.                
  248.                 function testConcatStrings()
  249.                 {
  250.                         var string1 = 'abcdefghijklmnopqrstuvxyz'
  251.                         var string2 = 'abcdefghijklmnopqrstuvxyz'
  252.                         var string3;
  253.                         start = new Date();
  254.                         for (var i=0; i<=1000000; i++)
  255.                         {
  256.                                 string3 = string1 + string2;
  257.                         }
  258.                         end = new Date();
  259.                         concatStringsTime = end-start;
  260.                         var textElem = document.createTextNode(concatStringsTime + 'ms  ')
  261.                         document.getElementById('concatStringsResult').appendChild(textElem);
  262.                         completed();                   
  263.                 }
  264.                
  265.                 function testSortArray()
  266.                 {
  267.                         var theArray = new Array;
  268.                         for(i=0; i<=10000; i++)
  269.                                 theArray[i] = parseInt(Math.random()*10000)
  270.                         start = new Date();
  271.                                 theArray.sort();
  272.                         end = new Date();
  273.                         sortArrayTime = end-start;
  274.                         var textElem = document.createTextNode(sortArrayTime + 'ms  ')
  275.                         document.getElementById('sortArrayResult').appendChild(textElem);
  276.                         completed();                   
  277.                 }
  278.                
  279.                
  280.                 function completed()
  281.                 {
  282.                         if(continueAfter)
  283.                         {
  284.                         if(forLoopTime==0)
  285.                                 setTimeout('testFor()',10);
  286.                         else
  287.                                 if(addTime==0)
  288.                                         setTimeout('testAdd()',10);
  289.                                 else
  290.                                         if(subtractTime==0)
  291.                                                 setTimeout('testSubtract()',10);
  292.                                         else
  293.                                                 if(multiplyTime==0)
  294.                                                         setTimeout('testMultiply()',10);
  295.                                                 else
  296.                                                         if(divideTime==0)
  297.                                                                 setTimeout('testDivide()',10);
  298.                                                         else
  299.                                                                 if(divide2Time==0)
  300.                                                                         setTimeout('testDivide2()',10);
  301.                                                                 else
  302.                                                                         if(fromArrayTime==0)
  303.                                                                                 setTimeout('testFromArray()',10);
  304.                                                                         else
  305.                                                                                 if(parseIntTime==0)
  306.                                                                                         setTimeout('testParseInt()',10);
  307.                                                                                 else
  308.                                                                                         if(varTime==0)
  309.                                                                                                 setTimeout('testVar()',10);
  310.                                                                                         else
  311.                                                                                                 if(sinTime==0)
  312.                                                                                                         setTimeout('testSin()',10);
  313.                                                                                                 else
  314.                                                                                                         if(floorTime==0)
  315.                                                                                                                 setTimeout('testFloor()',10);
  316.                                                                                                         else
  317.                                                                                                                 if(ifTime==0)
  318.                                                                                                                         setTimeout('testIf()',10);
  319.                                                                                                                 else
  320.                                                                                                                         if(readGlobalTime==0)
  321.                                                                                                                                 setTimeout('testReadGlobal()',10);
  322.                                                                                                                         else
  323.                                                                                                                                 if(concatStringsTime==0)
  324.                                                                                                                                         setTimeout('testConcatStrings()',10);
  325.                                                                                                                                 else
  326.                                                                                                                                         if(sortArrayTime==0)
  327.                                                                                                                                                 setTimeout('testSortArray()',10);
  328.                                                                                                                                         else   
  329.                                                                                                                                                 continueAfter=false;
  330.                                 }
  331.                        
  332.                         if(forLoopTime!=0&&addTime!=0&&subtractTime!=0&&multiplyTime!=0&&divideTime!=0&&divide2Time!=0&&fromArrayTime!=0&&parseIntTime!=0&&varTime!=0&&sinTime!=0&&floorTime!=0&&ifTime!=0&&readGlobalTime!=0&&concatStringsTime!=0&&sortArrayTime!=0)
  333.                         {                      
  334.                                 averageTime = (forLoopTime+addTime+subtractTime+multiplyTime+divideTime+divide2Time+fromArrayTime+parseIntTime+varTime+sinTime+floorTime+ifTime+readGlobalTime+concatStringsTime+sortArrayTime)/15;
  335.                                 document.getElementById('averageResult').innerHTML = '<b>' + parseInt(averageTime) + 'ms</b>';
  336.                         }
  337.                 }
  338.                
  339.         </script>
  340. </head>
  341.  
  342. <body>
  343. <form>
  344.  
  345. <input type="button" value="for-loop" onclick="testFor()">1000000 times:<span id="forResult"></span><br>
  346. <input type="button" value="add" onclick="testAdd()">1000000 times: <span id="addResult"></span><br>
  347. <input type="button" value="subtract" onclick="testSubtract()">1000000 times:<span id="subtractResult"></span><br>
  348. <input type="button" value="multiply" onclick="testMultiply()">1000000 times:<span id="multiplyResult"></span><br>
  349. <input type="button" value="divide" onclick="testDivide()">1000000 times:<span id="divideResult"></span><br>
  350. <input type="button" value="divide2" onclick="testDivide2()">1000000 times:<span id="divide2Result"></span><br>
  351. <input type="button" value="get value from array" onclick="testFromArray()">1000000 times:<span id="fromArrayResult"></span><br>
  352. <input type="button" value="parseInt()" onclick="testParseInt()">1000000 times:<span id="parseIntResult"></span><br>
  353. <input type="button" value="var" onclick="testVar()">1000000 times:<span id="varResult"></span><br>
  354.  
  355. <input type="button" value="Math.sin()" onclick="testSin()">1000000 times:<span id="sinResult"></span><br>
  356. <input type="button" value="Math.floor()" onclick="testFloor()">1000000 times:<span id="floorResult"></span><br>
  357. <input type="button" value="if" onclick="testIf()">1000000 times:<span id="ifResult"></span><br>
  358. <input type="button" value="read global variable" onclick="testReadGlobal()">1000000 times:<span id="readGlobalResult"></span><br>
  359. <input type="button" value="concatenate strings" onclick="testConcatStrings()">1000000 times:<span id="concatStringsResult"></span><br>
  360. <input type="button" value="sort Array" onclick="testSortArray()"><span id="sortArrayResult"></span><br>
  361. <br>
  362. <input type="button" value="Run all tests" onclick="continueAfter=true;completed()">Average time: <span id="averageResult"></span>
  363.  
  364. </form>
  365.  
  366. </body>
  367. </html>

Submit a correction or amendment below (click here to make a fresh posting)
After submitting an amendment, you'll be able to view the differences between the old and new posts easily.

Syntax highlighting:

To highlight particular lines, prefix each line with @@


Remember me so that I can delete my post