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.
		
		
		
		
		
			
		
			
				
					
					
						
							121 lines
						
					
					
						
							2.4 KiB
						
					
					
				
			
		
		
	
	
							121 lines
						
					
					
						
							2.4 KiB
						
					
					
				var max = 1000000
 | 
						|
var parallel = require('./')()
 | 
						|
var parallelNoResults = require('./')({ results: false })
 | 
						|
var bench = require('fastbench')
 | 
						|
var async = require('async')
 | 
						|
var neo = require('neo-async')
 | 
						|
var insync = require('insync')
 | 
						|
var items = require('items')
 | 
						|
var parallelize = require('parallelize')
 | 
						|
 | 
						|
function benchFastParallel (done) {
 | 
						|
  parallel(null, [somethingP, somethingP, somethingP], 42, done)
 | 
						|
}
 | 
						|
 | 
						|
function benchFastParallelNoResults (done) {
 | 
						|
  parallelNoResults(null, [somethingP, somethingP, somethingP], 42, done)
 | 
						|
}
 | 
						|
 | 
						|
function benchFastParallelEach (done) {
 | 
						|
  parallelNoResults(null, somethingP, [1, 2, 3], done)
 | 
						|
}
 | 
						|
 | 
						|
function benchFastParallelEachResults (done) {
 | 
						|
  parallel(null, somethingP, [1, 2, 3], done)
 | 
						|
}
 | 
						|
 | 
						|
function benchAsyncParallel (done) {
 | 
						|
  async.parallel([somethingA, somethingA, somethingA], done)
 | 
						|
}
 | 
						|
 | 
						|
function benchInsyncParallel (done) {
 | 
						|
  insync.parallel([somethingA, somethingA, somethingA], done)
 | 
						|
}
 | 
						|
 | 
						|
function benchNeoParallel (done) {
 | 
						|
  neo.parallel([somethingA, somethingA, somethingA], done)
 | 
						|
}
 | 
						|
 | 
						|
function benchItemsParallel (done) {
 | 
						|
  items.parallel.execute([somethingA, somethingA, somethingA], done)
 | 
						|
}
 | 
						|
 | 
						|
function benchParallelize (done) {
 | 
						|
  var next = parallelize(done)
 | 
						|
 | 
						|
  somethingA(next())
 | 
						|
  somethingA(next())
 | 
						|
  somethingA(next())
 | 
						|
}
 | 
						|
 | 
						|
function benchAsyncEach (done) {
 | 
						|
  async.each([1, 2, 3], somethingP, done)
 | 
						|
}
 | 
						|
 | 
						|
function benchNeoEach (done) {
 | 
						|
  neo.each([1, 2, 3], somethingP, done)
 | 
						|
}
 | 
						|
 | 
						|
function benchAsyncMap (done) {
 | 
						|
  async.map([1, 2, 3], somethingP, done)
 | 
						|
}
 | 
						|
 | 
						|
function benchNeoMap (done) {
 | 
						|
  neo.map([1, 2, 3], somethingP, done)
 | 
						|
}
 | 
						|
 | 
						|
function benchInsyncEach (done) {
 | 
						|
  insync.each([1, 2, 3], somethingP, done)
 | 
						|
}
 | 
						|
 | 
						|
function benchInsyncMap (done) {
 | 
						|
  insync.map([1, 2, 3], somethingP, done)
 | 
						|
}
 | 
						|
 | 
						|
var nextDone
 | 
						|
var nextCount
 | 
						|
 | 
						|
function benchSetImmediate (done) {
 | 
						|
  nextCount = 3
 | 
						|
  nextDone = done
 | 
						|
  setImmediate(somethingImmediate)
 | 
						|
  setImmediate(somethingImmediate)
 | 
						|
  setImmediate(somethingImmediate)
 | 
						|
}
 | 
						|
 | 
						|
function somethingImmediate () {
 | 
						|
  nextCount--
 | 
						|
  if (nextCount === 0) {
 | 
						|
    nextDone()
 | 
						|
  }
 | 
						|
}
 | 
						|
 | 
						|
function somethingP (arg, cb) {
 | 
						|
  setImmediate(cb)
 | 
						|
}
 | 
						|
 | 
						|
function somethingA (cb) {
 | 
						|
  setImmediate(cb)
 | 
						|
}
 | 
						|
 | 
						|
var run = bench([
 | 
						|
  benchSetImmediate,
 | 
						|
  benchAsyncParallel,
 | 
						|
  benchAsyncEach,
 | 
						|
  benchAsyncMap,
 | 
						|
  benchNeoParallel,
 | 
						|
  benchNeoEach,
 | 
						|
  benchNeoMap,
 | 
						|
  benchInsyncParallel,
 | 
						|
  benchInsyncEach,
 | 
						|
  benchInsyncMap,
 | 
						|
  benchItemsParallel,
 | 
						|
  benchParallelize,
 | 
						|
  benchFastParallel,
 | 
						|
  benchFastParallelNoResults,
 | 
						|
  benchFastParallelEachResults,
 | 
						|
  benchFastParallelEach
 | 
						|
], max)
 | 
						|
 | 
						|
run(run)
 |