chainable benchmark recording - averages & graphs.
extension of benchmark.js
yarn add bench-chain
npm i bench-chain --save
const Bench = require('bench-chain')
const Bench = require('bench-chain')
Bench
// location to store benchmarks
.init(__dirname, 'basic.json')
// tag current benchmarks with, to mark what changes caused differences
.tags('v1')
// actual benchmarks
.add('1 * 1', () => 1 * 1)
.add('1 + 1', () => 1 + 1)
.run()
const Bench = require('bench-chain')
const sleep = sleepDuration => new Promise(resolve => setTimeout(resolve, sleepDuration))
Bench
.init().dir(__dirname).filename('asyncs.json').setup()
.name('sleepy')
.tags('v1,v2')
// can also use .add, and then .runAsync()
.addAsync('sleep1', async done => {
await sleep(1000)
done()
})
.addAsync('sleep2', async done => {
await sleep(2000)
done()
})
.run()
--graph
will show only the graph reporting, rather than run the benchmarks--run-times=10
will run the test10
times
🔋 battery parsing when available
- will be used for comparing more benchmark results with averages - amperage (number) - currentCapacity (number) - percent (number) - charging (boolean) - temp (number)- mem: operating system memory, nodejs memory
- num: operations a second from benchmarkjs hertz
- sampled: total runs samples from benchmarkjs
- variation: variation from benchmarkjs
- timesFor: microtime | performance.now times for beginning & end of each run
- now: Date.now for changes over time