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