Browse Source

setTimeout: do not calculate Timeout._when property

Dramatically improves Timer performance.
v0.10.2-release
wicked 12 years ago
committed by isaacs
parent
commit
39058bef07
  1. 7
      lib/timers.js

7
lib/timers.js

@ -263,12 +263,15 @@ var Timeout = function(after) {
this._idleTimeout = after;
this._idlePrev = this;
this._idleNext = this;
this._when = Date.now() + after;
this._idleStart = null;
this._onTimeout = null;
};
Timeout.prototype.unref = function() {
if (!this._handle) {
var delay = this._when - Date.now();
var now = Date.now();
if (!this._idleStart) this._idleStart = now;
var delay = this._idleStart + this._idleTimeout - now;
if (delay < 0) delay = 0;
exports.unenroll(this);
this._handle = new Timer();

Loading…
Cancel
Save