Skip to content

Instantly share code, notes, and snippets.

@mmalecki
Created October 2, 2011 12:13
Show Gist options
  • Star 71 You must be signed in to star a gist
  • Fork 26 You must be signed in to fork a gist
  • Save mmalecki/1257394 to your computer and use it in GitHub Desktop.
Save mmalecki/1257394 to your computer and use it in GitHub Desktop.
process.nextTick vs setTimeout(fn, 0)
for (var i = 0; i < 1024 * 1024; i++) {
process.nextTick(function () { Math.sqrt(i) } )
}

Results

Intel i7 890 @ 2.93 GHz x64, node compiled with -march=native -mtune=native:

$ time node nextTick.js 

real	0m0.344s
user	0m0.276s
sys 	0m0.067s

$ time node setTimeout.js 

real	0m9.125s
user	0m8.707s
sys 	0m0.410s

Feel free to fork and add your results!

for (var i = 0; i < 1024 * 1024; i++) {
setTimeout(function () { Math.sqrt(i) }, 0)
}
@kiwenlau
Copy link

on ubuntu virtual machine

time node nextTick.js

real	0m0.669s
user	0m0.487s
sys	0m0.357s


time node setTimeout.js

real	0m1.513s
user	0m1.709s
sys	0m0.090s

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment