brolly
v1.5.0
Published
benchmark in style
Downloads
10
Maintainers
Readme
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
// ES2015
import benchmark from 'brolly'
// CommonJS
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', [
// use done callback and pass serialisable value to bench fn
[1000, function timeout (time, done) {
setTimeout(done, time)
}],
// request "delay" lib to be injected into bench fn
// return Promise instead of calling done callback
['delay', function sleep (delay) {
return delay(1000)
}]
])
// run each bench 1000 times and then print the results
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