summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexander Early <alexander.early@gmail.com>2015-05-21 22:11:15 -0700
committerAlexander Early <alexander.early@gmail.com>2015-05-21 22:11:15 -0700
commit5b6f080710fb4dbb6ef753d8680a2396ce73f8f8 (patch)
tree7d92491f0d6f8e89402c8e1f0220b70ee29a0cd3
parent0da3ebbaeb1ac79dac4c156a96770005313cd667 (diff)
downloadasync-5b6f080710fb4dbb6ef753d8680a2396ce73f8f8.tar.gz
added benchmarks for map and eachOf
-rw-r--r--perf/suites.js76
1 files changed, 75 insertions, 1 deletions
diff --git a/perf/suites.js b/perf/suites.js
index 2e1beaa..6504ebc 100644
--- a/perf/suites.js
+++ b/perf/suites.js
@@ -10,7 +10,7 @@ module.exports = [
tasks = Array(count);
},
fn: function (async, done) {
- async.each(Array(10), function (num, cb) {
+ async.each(tasks, function (num, cb) {
async.setImmediate(cb);
}, done);
}
@@ -40,6 +40,80 @@ module.exports = [
}
},
{
+ name: "map",
+ // args lists are passed to the setup function
+ args: [[10], [300], [10000]],
+ setup: function(count) {
+ tasks = Array(count);
+ },
+ fn: function (async, done) {
+ async.map(Array(10), function (num, cb) {
+ async.setImmediate(cb);
+ }, done);
+ }
+ },
+ {
+ name: "mapSeries",
+ args: [[10], [300], [10000]],
+ setup: function(count) {
+ tasks = Array(count);
+ },
+ fn: function (async, done) {
+ async.mapSeries(tasks, function (num, cb) {
+ async.setImmediate(cb);
+ }, done);
+ }
+ },
+ {
+ name: "mapLimit",
+ args: [[10], [300], [10000]],
+ setup: function(count) {
+ tasks = Array(count);
+ },
+ fn: function (async, done) {
+ async.mapLimit(tasks, 4, function (num, cb) {
+ async.setImmediate(cb);
+ }, done);
+ }
+ },
+ {
+ name: "eachOf",
+ // args lists are passed to the setup function
+ args: [[10], [300], [10000]],
+ setup: function(count) {
+ tasks = _.range(count);
+ },
+ fn: function (async, done) {
+ async.eachOf(tasks, function (num, i, cb) {
+ async.setImmediate(cb);
+ }, done);
+ }
+ },
+ {
+ name: "eachOfSeries",
+ args: [[10], [300], [10000]],
+ setup: function(count) {
+ tasks = _.range(count);
+ },
+ fn: function (async, done) {
+ async.eachOfSeries(tasks, function (num, i, cb) {
+ async.setImmediate(cb);
+ }, done);
+ }
+ },
+ {
+ name: "eachOfLimit",
+ args: [[10], [300], [10000]],
+ setup: function(count) {
+ tasks = _.range(count);
+ },
+ fn: function (async, done) {
+ async.eachOfLimit(tasks, 4, function (num, i, cb) {
+ async.setImmediate(cb);
+ }, done);
+ }
+ },
+ {
name: "parallel",
args: [[10], [100], [1000]],
setup: function (count) {