From 073887e5157b36a1e41dab8f798d6218b155b87b Mon Sep 17 00:00:00 2001 From: Zixaphir Date: Tue, 7 Jan 2014 14:23:27 -0700 Subject: [PATCH] It occurs to me that Array.shift() is probably slow. --- builds/4chan-X.user.js | 9 +++++---- builds/crx/script.js | 9 +++++---- src/General/Main.coffee | 7 ++++--- 3 files changed, 14 insertions(+), 11 deletions(-) diff --git a/builds/4chan-X.user.js b/builds/4chan-X.user.js index 073057b82..97eab729e 100644 --- a/builds/4chan-X.user.js +++ b/builds/4chan-X.user.js @@ -12578,18 +12578,19 @@ } }, callbackNodesDB: function(klass, nodes, cb) { - var callbacks, errors, len, softTask; + var callbacks, errors, i, len, softTask; errors = null; len = 0; + i = 0; callbacks = klass.callbacks; softTask = function() { var node; - node = nodes.shift(); + node = nodes[i++]; callbacks.execute(node); - if (!--len && cb) { + if (len === i && cb) { return cb(); } - if (!(len % 7)) { + if (!(i % 7)) { return setTimeout(softTask, 0); } else { return softTask(); diff --git a/builds/crx/script.js b/builds/crx/script.js index 4fb51c702..17c2ed399 100644 --- a/builds/crx/script.js +++ b/builds/crx/script.js @@ -12552,18 +12552,19 @@ } }, callbackNodesDB: function(klass, nodes, cb) { - var callbacks, errors, len, softTask; + var callbacks, errors, i, len, softTask; errors = null; len = 0; + i = 0; callbacks = klass.callbacks; softTask = function() { var node; - node = nodes.shift(); + node = nodes[i++]; callbacks.execute(node); - if (!--len && cb) { + if (len === i && cb) { return cb(); } - if (!(len % 7)) { + if (!(i % 7)) { return setTimeout(softTask, 0); } else { return softTask(); diff --git a/src/General/Main.coffee b/src/General/Main.coffee index fcf36a7f7..57bafeeb6 100755 --- a/src/General/Main.coffee +++ b/src/General/Main.coffee @@ -238,14 +238,15 @@ Main = callbackNodesDB: (klass, nodes, cb) -> errors = null len = 0 + i = 0 {callbacks} = klass softTask = -> - node = nodes.shift() + node = nodes[i++] callbacks.execute node - return cb() if not --len and cb - unless len % 7 + return cb() if len is i and cb + unless i % 7 setTimeout softTask, 0 else softTask()