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