From 5b8931d40205778a5bf4e936efb10046b79eb018 Mon Sep 17 00:00:00 2001 From: Graeme Yeates Date: Sat, 23 Jul 2016 11:13:31 -0400 Subject: Add filter benchmark --- perf/suites.js | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/perf/suites.js b/perf/suites.js index 244b32b..dfef9f6 100644 --- a/perf/suites.js +++ b/perf/suites.js @@ -1,5 +1,6 @@ var _ = require("lodash"); var tasks; +var count; module.exports = [{ name: "each", @@ -93,6 +94,42 @@ module.exports = [{ async.setImmediate(cb); }, done); } +}, { + name: "filter", + args: [ + [10], + [300], + [10000] + ], + setup: function(c) { + count = c; + tasks = _.range(count); + }, + fn: function(async, done) { + async.filter(tasks, function(num, cb) { + async.setImmediate(function() { + cb(null, num > (count / 2)); + }); + }, done); + } +}, { + name: "filterLimit", + args: [ + [10], + [300], + [10000] + ], + setup: function(c) { + count = c; + tasks = _.range(count); + }, + fn: function(async, done) { + async.filterLimit(tasks, 10, function(num, cb) { + async.setImmediate(function() { + cb(null, num > (count / 2)); + }); + }, done); + } }, { name: "eachOf", // args lists are passed to the setup function -- cgit v1.2.1