setTimeout in series vs parallel

by Yury

JavaScript

// How to use:
// Increase iterationsToFreeze until your browser chokes.
// Decrease it a little until it *just* survives.
// Uncomment the setTimeout calls and see that the browser is
// suddenly much more forgiving.
iterationsToFreeze = 9000000000;
console.time('series');
console.time('parallel');
window.j = 0;
function loop() {
    i = 0;
    while (i++ < iterationsToFreeze);

    // Timeouts in series.
    //if(j < 2) {
    //  console.log(j);
    //  setTimeout(loop);
    //  window.j++;
    //}
    //else {
    // console.timeEnd('series');
    //}
}
loop();

// Timeouts in parallel.
//setTimeout(loop);
//setTimeout(loop);
setTimeout(function(){
  console.timeEnd('parallel');
});