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