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.
95 lines
1.9 KiB
95 lines
1.9 KiB
5 years ago
|
var max = 1000000
|
||
|
var series = require('./')()
|
||
|
var seriesNoResults = require('./')({ results: false })
|
||
|
var async = require('async')
|
||
|
var neo = require('neo-async')
|
||
|
var bench = require('fastbench')
|
||
|
var tinyEachAsync = require('tiny-each-async')
|
||
|
|
||
|
function benchFastSeries (done) {
|
||
|
series(null, [somethingP, somethingP, somethingP], 42, done)
|
||
|
}
|
||
|
|
||
|
function benchFastSeriesNoResults (done) {
|
||
|
seriesNoResults(null, [somethingP, somethingP, somethingP], 42, done)
|
||
|
}
|
||
|
|
||
|
function benchFastSeriesEach (done) {
|
||
|
seriesNoResults(null, somethingP, [1, 2, 3], done)
|
||
|
}
|
||
|
|
||
|
function benchFastSeriesEachResults (done) {
|
||
|
series(null, somethingP, [1, 2, 3], done)
|
||
|
}
|
||
|
|
||
|
function benchAsyncSeries (done) {
|
||
|
async.series([somethingA, somethingA, somethingA], done)
|
||
|
}
|
||
|
|
||
|
function benchAsyncEachSeries (done) {
|
||
|
async.eachSeries([1, 2, 3], somethingP, done)
|
||
|
}
|
||
|
|
||
|
function benchAsyncMapSeries (done) {
|
||
|
async.mapSeries([1, 2, 3], somethingP, done)
|
||
|
}
|
||
|
|
||
|
function benchNeoSeries (done) {
|
||
|
neo.series([somethingA, somethingA, somethingA], done)
|
||
|
}
|
||
|
|
||
|
function benchNeoEachSeries (done) {
|
||
|
neo.eachSeries([1, 2, 3], somethingP, done)
|
||
|
}
|
||
|
|
||
|
function benchNeoMapSeries (done) {
|
||
|
neo.mapSeries([1, 2, 3], somethingP, done)
|
||
|
}
|
||
|
|
||
|
function benchTinyEachAsync (done) {
|
||
|
tinyEachAsync([1, 2, 3], 1, somethingP, done)
|
||
|
}
|
||
|
|
||
|
var nextDone
|
||
|
var nextCount
|
||
|
|
||
|
function benchSetImmediate (done) {
|
||
|
nextCount = 3
|
||
|
nextDone = done
|
||
|
setImmediate(somethingImmediate)
|
||
|
}
|
||
|
|
||
|
function somethingImmediate () {
|
||
|
nextCount--
|
||
|
if (nextCount === 0) {
|
||
|
nextDone()
|
||
|
} else {
|
||
|
setImmediate(somethingImmediate)
|
||
|
}
|
||
|
}
|
||
|
|
||
|
function somethingP (arg, cb) {
|
||
|
setImmediate(cb)
|
||
|
}
|
||
|
|
||
|
function somethingA (cb) {
|
||
|
setImmediate(cb)
|
||
|
}
|
||
|
|
||
|
var run = bench([
|
||
|
benchSetImmediate,
|
||
|
benchAsyncSeries,
|
||
|
benchAsyncEachSeries,
|
||
|
benchAsyncMapSeries,
|
||
|
benchNeoSeries,
|
||
|
benchNeoEachSeries,
|
||
|
benchNeoMapSeries,
|
||
|
benchTinyEachAsync,
|
||
|
benchFastSeries,
|
||
|
benchFastSeriesNoResults,
|
||
|
benchFastSeriesEach,
|
||
|
benchFastSeriesEachResults
|
||
|
], max)
|
||
|
|
||
|
run(run)
|