Projektstart
This commit is contained in:
81
backend/node_modules/fastfall/bench.js
generated
vendored
Normal file
81
backend/node_modules/fastfall/bench.js
generated
vendored
Normal file
@@ -0,0 +1,81 @@
|
||||
'use strict'
|
||||
|
||||
var max = 100000
|
||||
var async = require('async')
|
||||
var insync = require('insync')
|
||||
var neoAsync = require('neo-async')
|
||||
var fall = require('./')()
|
||||
var runWaterfall = require('run-waterfall')
|
||||
var waterfallize = require('waterfallize')
|
||||
var bench = require('fastbench')
|
||||
|
||||
var nextDone
|
||||
var nextCount
|
||||
|
||||
function benchSetImmediate (done) {
|
||||
nextCount = 3
|
||||
nextDone = done
|
||||
setImmediate(somethingImmediate)
|
||||
}
|
||||
|
||||
function somethingImmediate () {
|
||||
nextCount--
|
||||
if (nextCount === 0) {
|
||||
nextDone()
|
||||
} else {
|
||||
setImmediate(somethingImmediate)
|
||||
}
|
||||
}
|
||||
|
||||
function somethingB (cb) {
|
||||
setImmediate(cb)
|
||||
}
|
||||
|
||||
function somethingA (cb) {
|
||||
setImmediate(cb)
|
||||
}
|
||||
|
||||
var toCall = [somethingA, somethingB, somethingB]
|
||||
function benchAsyncWaterfall (done) {
|
||||
async.waterfall(toCall, done)
|
||||
}
|
||||
|
||||
function benchFastFall (done) {
|
||||
fall(toCall, done)
|
||||
}
|
||||
|
||||
function benchWaterfallize (done) {
|
||||
var next = waterfallize()
|
||||
|
||||
next(toCall[0])
|
||||
next(toCall[1])
|
||||
next(toCall[2])
|
||||
next(done)
|
||||
}
|
||||
|
||||
function benchRunWaterFall (done) {
|
||||
runWaterfall(toCall, done)
|
||||
}
|
||||
|
||||
function benchInsync (done) {
|
||||
insync.waterfall(toCall, done)
|
||||
}
|
||||
|
||||
function benchNeoAsync (done) {
|
||||
neoAsync.waterfall(toCall, done)
|
||||
}
|
||||
|
||||
var compiled = require('./')(toCall)
|
||||
|
||||
var run = bench([
|
||||
benchAsyncWaterfall,
|
||||
benchInsync,
|
||||
benchNeoAsync,
|
||||
benchRunWaterFall,
|
||||
benchSetImmediate,
|
||||
benchWaterfallize,
|
||||
benchFastFall,
|
||||
compiled
|
||||
], max)
|
||||
|
||||
run(run)
|
||||
Reference in New Issue
Block a user