timer: change new Date to Date.now for performance
authorShigeki Ohtsu <ohtsu@iij.ad.jp>
Tue, 10 Jul 2012 17:39:41 +0000 (02:39 +0900)
committerBen Noordhuis <info@bnoordhuis.nl>
Tue, 10 Jul 2012 20:44:07 +0000 (22:44 +0200)
Speeds up benchmark/settimeout.js by about 30%.

lib/timers.js

index 9e2336d..f906a42 100644 (file)
@@ -51,7 +51,7 @@ var lists = {};
 // the main function - creates lists on demand and the watchers associated
 // with them.
 function insert(item, msecs) {
-  item._idleStart = new Date();
+  item._idleStart = Date.now();
   item._idleTimeout = msecs;
 
   if (msecs < 0) return;
@@ -71,8 +71,8 @@ function insert(item, msecs) {
     list.ontimeout = function() {
       debug('timeout callback ' + msecs);
 
-      var now = new Date();
-      debug('now: ' + now);
+      var now = Date.now();
+      debug('now: ' + (new Date(now)));
 
       var first;
       while (first = L.peek(list)) {
@@ -155,7 +155,7 @@ exports.active = function(item) {
     if (!list || L.isEmpty(list)) {
       insert(item, msecs);
     } else {
-      item._idleStart = new Date();
+      item._idleStart = Date.now();
       L.append(list, item);
     }
   }