It occurs to me that Array.shift() is probably slow.
This commit is contained in:
parent
31e409f361
commit
073887e515
@ -12578,18 +12578,19 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
callbackNodesDB: function(klass, nodes, cb) {
|
callbackNodesDB: function(klass, nodes, cb) {
|
||||||
var callbacks, errors, len, softTask;
|
var callbacks, errors, i, len, softTask;
|
||||||
errors = null;
|
errors = null;
|
||||||
len = 0;
|
len = 0;
|
||||||
|
i = 0;
|
||||||
callbacks = klass.callbacks;
|
callbacks = klass.callbacks;
|
||||||
softTask = function() {
|
softTask = function() {
|
||||||
var node;
|
var node;
|
||||||
node = nodes.shift();
|
node = nodes[i++];
|
||||||
callbacks.execute(node);
|
callbacks.execute(node);
|
||||||
if (!--len && cb) {
|
if (len === i && cb) {
|
||||||
return cb();
|
return cb();
|
||||||
}
|
}
|
||||||
if (!(len % 7)) {
|
if (!(i % 7)) {
|
||||||
return setTimeout(softTask, 0);
|
return setTimeout(softTask, 0);
|
||||||
} else {
|
} else {
|
||||||
return softTask();
|
return softTask();
|
||||||
|
|||||||
@ -12552,18 +12552,19 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
callbackNodesDB: function(klass, nodes, cb) {
|
callbackNodesDB: function(klass, nodes, cb) {
|
||||||
var callbacks, errors, len, softTask;
|
var callbacks, errors, i, len, softTask;
|
||||||
errors = null;
|
errors = null;
|
||||||
len = 0;
|
len = 0;
|
||||||
|
i = 0;
|
||||||
callbacks = klass.callbacks;
|
callbacks = klass.callbacks;
|
||||||
softTask = function() {
|
softTask = function() {
|
||||||
var node;
|
var node;
|
||||||
node = nodes.shift();
|
node = nodes[i++];
|
||||||
callbacks.execute(node);
|
callbacks.execute(node);
|
||||||
if (!--len && cb) {
|
if (len === i && cb) {
|
||||||
return cb();
|
return cb();
|
||||||
}
|
}
|
||||||
if (!(len % 7)) {
|
if (!(i % 7)) {
|
||||||
return setTimeout(softTask, 0);
|
return setTimeout(softTask, 0);
|
||||||
} else {
|
} else {
|
||||||
return softTask();
|
return softTask();
|
||||||
|
|||||||
@ -238,14 +238,15 @@ Main =
|
|||||||
callbackNodesDB: (klass, nodes, cb) ->
|
callbackNodesDB: (klass, nodes, cb) ->
|
||||||
errors = null
|
errors = null
|
||||||
len = 0
|
len = 0
|
||||||
|
i = 0
|
||||||
|
|
||||||
{callbacks} = klass
|
{callbacks} = klass
|
||||||
|
|
||||||
softTask = ->
|
softTask = ->
|
||||||
node = nodes.shift()
|
node = nodes[i++]
|
||||||
callbacks.execute node
|
callbacks.execute node
|
||||||
return cb() if not --len and cb
|
return cb() if len is i and cb
|
||||||
unless len % 7
|
unless i % 7
|
||||||
setTimeout softTask, 0
|
setTimeout softTask, 0
|
||||||
else
|
else
|
||||||
softTask()
|
softTask()
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user