Skip to content

Instantly share code, notes, and snippets.

@wwalser
Created May 17, 2012 11:58
Show Gist options
  • Save wwalser/2718412 to your computer and use it in GitHub Desktop.
Save wwalser/2718412 to your computer and use it in GitHub Desktop.
Cross browser setImmediate speed tests
/**
* https://github.com/NobleJS/setImmediate
*/
function createContinuation(){
var recurseMethod = Array.prototype.shift.call(arguments),
args = arguments,
count = 0,
continuation = function(){
count++;
recurseMethod.apply(window, args);
}
Array.prototype.unshift.call(args, continuation);
continuation();
return function(){
return count;
}
}
var timeoutCount = createContinuation(setTimeout, 0);
var immediateCount = createContinuation(setImmediate);
setInterval(function(){
console.log('timeout: ' + timeoutCount());
console.log('immediate: ' + immediateCount());
console.log('delta: ' + (immediateCount() - timeoutCount()));
console.log('percentage: ' + (timeoutCount()/immediateCount())*100);
}, 1000);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment