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
						
					
					
				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)
 |