Skip to content

Commit 8eb479e

Browse files
committed
timers: use parseInt on timeout/repeat values
This results in a ~4-5% performance increase in the 'breadth' timers benchmark.
1 parent b4f5898 commit 8eb479e

File tree

1 file changed

+2
-2
lines changed

1 file changed

+2
-2
lines changed

lib/timers.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -168,7 +168,7 @@ exports.active = function(item) {
168168

169169

170170
exports.setTimeout = function(callback, after) {
171-
after *= 1; // coalesce to number or NaN
171+
after = parseInt(after, 10); // coalesce to number or NaN
172172

173173
if (!(after >= 1 && after <= TIMEOUT_MAX)) {
174174
after = 1; // schedule on next tick, follows browser behaviour
@@ -224,7 +224,7 @@ exports.clearTimeout = function(timer) {
224224

225225

226226
exports.setInterval = function(callback, repeat) {
227-
repeat *= 1; // coalesce to number or NaN
227+
repeat = parseInt(repeat, 10); // coalesce to number or NaN
228228

229229
if (!(repeat >= 1 && repeat <= TIMEOUT_MAX)) {
230230
repeat = 1; // schedule on next tick, follows browser behaviour

0 commit comments

Comments
 (0)