Skip to content

Instantly share code, notes, and snippets.

@tristanls
Created December 21, 2011 23:32
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save tristanls/1508208 to your computer and use it in GitHub Desktop.
Save tristanls/1508208 to your computer and use it in GitHub Desktop.
loop v. nextTick benchmark ( no closures )
var startFast;
var startSlow;
var size = 1000000; // million
var loopCount = 0;
var loopTest = function () {
loopCount++;
if ( loopCount == ( size - 1 ) )
console.log( 'loop result: ' + ( new Date() - startFast ) + 'ms' );
};
var fast = function () {
for ( var i = 0; i < size; i++ ) {
loopTest();
}
};
var nextTickCount = 0;
var nextTickTest = function () {
nextTickCount++;
if ( nextTickCount == ( size - 1 ) )
console.log( 'nextTick result: ' + ( new Date() - startSlow ) + 'ms' );
}
var slow = function () {
for ( var k = 0; k < size; k++ ) {
process.nextTick( nextTickTest );
}
};
startFast = new Date();
fast();
startSlow = new Date();
slow();
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment