code_junkie

What makes this the fastest JavaScript for printing 1 to 1,000,000 (separated by spaces) in a web browser?

Nov 11th, 2011
96
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.80 KB | None | 0 0
  1. <html>
  2. <head>
  3. <script type="text/javascript">
  4. function printAllNumberBuffered(n, bufferSize)
  5. {
  6. var startTime = new Date();
  7.  
  8. var oRuntime = document.getElementById("divRuntime");
  9. var oNumbers = document.getElementById("divNumbers");
  10.  
  11. var i = 0;
  12. var currentNumber;
  13. var pass = 0;
  14. var numArray = new Array(bufferSize);
  15.  
  16. for(currentNumber = 1; currentNumber <= n; currentNumber++)
  17. {
  18. numArray[i] = currentNumber;
  19.  
  20. if(currentNumber % bufferSize == 0 && currentNumber > 0)
  21. {
  22. oNumbers.textContent += numArray.join(' ');
  23. i = 0;
  24. }
  25. else
  26. {
  27. i++;
  28. }
  29. }
  30.  
  31. if(i > 0)
  32. {
  33. numArray.splice(i - 1, bufferSize - 1);
  34. oNumbers.textContent += numArray.join(' ');
  35. }
  36.  
  37. var endTime = new Date();
  38.  
  39. oRuntime.innerHTML += "<div>Number: " + n + " Buffer Size: " + bufferSize + " Runtime: " + (endTime - startTime) + "</div>";
  40. }
  41.  
  42. function PrintNumbers()
  43. {
  44. var oNumbers = document.getElementById("divNumbers");
  45. var tbNumber = document.getElementById("tbNumber");
  46. var tbBufferSize = document.getElementById("tbBufferSize");
  47.  
  48. var n = parseInt(tbNumber.value);
  49. var bufferSize = parseInt(tbBufferSize.value);
  50.  
  51. oNumbers.textContent = "";
  52.  
  53. printAllNumberBuffered(n, bufferSize);
  54. }
  55. </script>
  56. </head>
  57. <body>
  58. <table border="1">
  59. <tr>
  60. <td colspan="2">
  61. <div>Number:&nbsp;<input id="tbNumber" type="text" />Buffer Size:&nbsp;<input id="tbBufferSize" type="text" /><input type="button" value="Run" onclick="PrintNumbers();" /></div>
  62. </td>
  63. </tr>
  64. <tr>
  65. <td style="vertical-align:top" width="30%">
  66. <div id="divRuntime"></div>
  67. </td>
  68. <td width="90%">
  69. <div id="divNumbers"></div>
  70. </td>
  71. </tr>
  72. </table>
  73. </body>
  74. </html>
Add Comment
Please, Sign In to add comment