title: Using setTimeout with intervals less than 1
body: <p>I'm doing a lot of recursion in Javascript, and to keep the stack from overflowing, I've been using setTimeout.  Here's a quick theoretical example:</p>
  
  <pre><code>go(){
      setTimeout(function(){
          x++;
          go();
      },1);
  }
  </code></pre>
  
  <p>I've also got a function logging <code>x</code> to the console every few seconds, but that isn't the concern.  What I'm seeing is that no matter what value I put in for the timeout, for which I've used 1 in the example, the script can only run 1000 times per second.  I'm doing recursion on the level of hundreds of millions, so this isn't fast enough.  When I set the timeout value to 0, or .1, or 1/10, I still only get approximately 1000 times per second.  I've tried using 32 and 64 bit browsers (Chrome and Firefox) to no avail.</p>
  
  <p>How can I kick the speed up a notch?  Also, I'm relatively new at all of this, so it'd be awesome if the solution was a simple one.</p>
  
  <p>Oh, forgot to mention: if I remove the setTimeout altogether, I overflow the stack every time.</p>
  
  <p>Thanks for the help!</p>