Recent Posts
C++ | 11 sec ago
None | 28 sec ago
None | 56 sec ago
None | 56 sec ago
None | 57 sec ago
None | 59 sec ago
Java | 1 min ago
None | 2 min ago
None | 2 min ago
PHP | 3 min ago
Sitereport
Find cool info about any domain on the internet?
visit sitereport
Free Subdomains
Want a pastebin.com sub-domain for your community?
learn more...
What is pastebin?
Pastebin is a website that hosts all your text & code on dedicated servers for easy sharing.
learn more...
Learn a little bit about the new Pastebin.com on our help page. hide message
By AoRGuNNeT on the 23rd of Dec 2008 06:28:36 PM Download | Raw | Embed | Report
  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. Make A New Post
To highlight particular lines, prefix each line with @h@
Syntax highlighting:
Post expiration:
Post exposure:
Name / Title:
Email: