CoolFace
Apppublic

strong-tie/inbound-calls

sourceHugging Faceupdated 2y agoView on Hugging Face
0likes
bench.js67 linesDownload Raw Back to fastq
1'use strict'2 3const max = 10000004const fastqueue = require('./')(worker, 1)5const { promisify } = require('util')6const immediate = promisify(setImmediate)7const qPromise = require('./').promise(immediate, 1)8const async = require('async')9const neo = require('neo-async')10const asyncqueue = async.queue(worker, 1)11const neoqueue = neo.queue(worker, 1)12 13function bench (func, done) {14  const key = max + '*' + func.name15  let count = -116 17  console.time(key)18  end()19 20  function end () {21    if (++count < max) {22      func(end)23    } else {24      console.timeEnd(key)25      if (done) {26        done()27      }28    }29  }30}31 32function benchFastQ (done) {33  fastqueue.push(42, done)34}35 36function benchAsyncQueue (done) {37  asyncqueue.push(42, done)38}39 40function benchNeoQueue (done) {41  neoqueue.push(42, done)42}43 44function worker (arg, cb) {45  setImmediate(cb)46}47 48function benchSetImmediate (cb) {49  worker(42, cb)50}51 52function benchFastQPromise (done) {53  qPromise.push(42).then(function () { done() }, done)54}55 56function runBench (done) {57  async.eachSeries([58    benchSetImmediate,59    benchFastQ,60    benchNeoQueue,61    benchAsyncQueue,62    benchFastQPromise63  ], bench, done)64}65 66runBench(runBench)67