Skip to content

Instantly share code, notes, and snippets.

@zoka
Created March 30, 2010 11:15
Show Gist options
  • Save zoka/349014 to your computer and use it in GitHub Desktop.
Save zoka/349014 to your computer and use it in GitHub Desktop.
ZokaMac:node Zoka$ ./node ../sample/timer_test.js 1000
v8 delta: 100 msec expected: 100 ms, v8_error: 0 ms
v8 delta: 1000 msec expected: 1000 ms, v8_error: 0 ms
ZokaMac:node Zoka$ ./node ../sample/timer_test.js 10000
v8 delta: 98 msec expected: 100 ms, v8_error: 2 ms
v8 delta: 998 msec expected: 1000 ms, v8_error: 2 ms
ZokaMac:node Zoka$ ./node ../sample/timer_test.js 100000
v8 delta: 85 msec expected: 100 ms, v8_error: 15 ms
v8 delta: 985 msec expected: 1000 ms, v8_error: 15 ms
ZokaMac:node Zoka$ ./node ../sample/timer_test.js 1000000
v8 delta: 1 msec expected: 100 ms, v8_error: 99 ms
v8 delta: 859 msec expected: 1000 ms, v8_error: 141 ms
// timer_test.js
var sys=require('sys');
function test_timer_accuracy(expected) {
var v8_ms = Date.now();
function interval_cb() {
var v8_ms_now = Date.now();
var v8_delta = v8_ms_now-v8_ms;
var error = expected-v8_delta;
sys.puts("v8 delta: "+v8_delta + " msec expected: "+ expected + " ms, v8_error: "
+error+" ms");
}
setTimeout(interval_cb, expected);
}
var x;
var y = 0;
var n = 1000000;
if (process.argv.length > 2)
n = process.argv[2];
for (x = 0; x < n; x++)
y += x;
test_timer_accuracy(100);
test_timer_accuracy(1000);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment