brolly
benchmark in style
Run benchmarking functions in parallel.
- forks each bench function as child process
- pass module dependencies to bench functions
- pass serialisable values
Install
npm install --save brolly
yarn add brolly
Import
import benchmark from 'brolly'
var benchmark = require('brolly')
API
benchmark(name, benches[, deps]) : Function
Create a benchmark suite.
If using the deps
argument the benches cannot have their own dependency definitions.
- name {String} name of the benchmark suite
- benches {Array} array of benchmark functions
- deps {Array} (optional) shared bench deps
Returns a bench function.
bench(iterations) : self
Run the benchmark suite.
- iterations {Number} number of times to run each bench function
Returns self.
bench.print() : self
Log the results to the console after completion.
Returns self.
Example
import benchmark from 'brolly'
const bench = benchmark('timeout', [
[1000, function timeout (time, done) {
setTimeout(done, time)
}],
['delay', function sleep (delay) {
return delay(1000)
}]
])
bench(1000).print()
Contributing
All pull requests and issues welcome!
If you're not sure how, check out the great video tutorials on egghead.io!
License
MIT © Sam Gluck