You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
120 lines
2.4 KiB
120 lines
2.4 KiB
var max = 1000000 |
|
var parallel = require('./')() |
|
var parallelNoResults = require('./')({ results: false }) |
|
var bench = require('fastbench') |
|
var async = require('async') |
|
var neo = require('neo-async') |
|
var insync = require('insync') |
|
var items = require('items') |
|
var parallelize = require('parallelize') |
|
|
|
function benchFastParallel (done) { |
|
parallel(null, [somethingP, somethingP, somethingP], 42, done) |
|
} |
|
|
|
function benchFastParallelNoResults (done) { |
|
parallelNoResults(null, [somethingP, somethingP, somethingP], 42, done) |
|
} |
|
|
|
function benchFastParallelEach (done) { |
|
parallelNoResults(null, somethingP, [1, 2, 3], done) |
|
} |
|
|
|
function benchFastParallelEachResults (done) { |
|
parallel(null, somethingP, [1, 2, 3], done) |
|
} |
|
|
|
function benchAsyncParallel (done) { |
|
async.parallel([somethingA, somethingA, somethingA], done) |
|
} |
|
|
|
function benchInsyncParallel (done) { |
|
insync.parallel([somethingA, somethingA, somethingA], done) |
|
} |
|
|
|
function benchNeoParallel (done) { |
|
neo.parallel([somethingA, somethingA, somethingA], done) |
|
} |
|
|
|
function benchItemsParallel (done) { |
|
items.parallel.execute([somethingA, somethingA, somethingA], done) |
|
} |
|
|
|
function benchParallelize (done) { |
|
var next = parallelize(done) |
|
|
|
somethingA(next()) |
|
somethingA(next()) |
|
somethingA(next()) |
|
} |
|
|
|
function benchAsyncEach (done) { |
|
async.each([1, 2, 3], somethingP, done) |
|
} |
|
|
|
function benchNeoEach (done) { |
|
neo.each([1, 2, 3], somethingP, done) |
|
} |
|
|
|
function benchAsyncMap (done) { |
|
async.map([1, 2, 3], somethingP, done) |
|
} |
|
|
|
function benchNeoMap (done) { |
|
neo.map([1, 2, 3], somethingP, done) |
|
} |
|
|
|
function benchInsyncEach (done) { |
|
insync.each([1, 2, 3], somethingP, done) |
|
} |
|
|
|
function benchInsyncMap (done) { |
|
insync.map([1, 2, 3], somethingP, done) |
|
} |
|
|
|
var nextDone |
|
var nextCount |
|
|
|
function benchSetImmediate (done) { |
|
nextCount = 3 |
|
nextDone = done |
|
setImmediate(somethingImmediate) |
|
setImmediate(somethingImmediate) |
|
setImmediate(somethingImmediate) |
|
} |
|
|
|
function somethingImmediate () { |
|
nextCount-- |
|
if (nextCount === 0) { |
|
nextDone() |
|
} |
|
} |
|
|
|
function somethingP (arg, cb) { |
|
setImmediate(cb) |
|
} |
|
|
|
function somethingA (cb) { |
|
setImmediate(cb) |
|
} |
|
|
|
var run = bench([ |
|
benchSetImmediate, |
|
benchAsyncParallel, |
|
benchAsyncEach, |
|
benchAsyncMap, |
|
benchNeoParallel, |
|
benchNeoEach, |
|
benchNeoMap, |
|
benchInsyncParallel, |
|
benchInsyncEach, |
|
benchInsyncMap, |
|
benchItemsParallel, |
|
benchParallelize, |
|
benchFastParallel, |
|
benchFastParallelNoResults, |
|
benchFastParallelEachResults, |
|
benchFastParallelEach |
|
], max) |
|
|
|
run(run)
|
|
|