Commit
Speeds up benchmark/settimeout.js by about 30%.
- Loading branch information
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -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))); | ||
This comment has been minimized.
Sorry, something went wrong.
This comment has been minimized.
Sorry, something went wrong.
bnoordhuis
Member
|
||
|
||
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); | ||
} | ||
} | ||
|
If we're concerned about performance,
new Date(now)
is still being evaluated here every time, no matter whether debug() is a no-op or not.