tinybench
tinybench copied to clipboard
Feature: allow to pass `tasks` to `Bench` constructor
For simple cases,
Instead of
const bench = new Bench({ name: 'simple benchmark', time: 100 })
bench
.add('faster task', () => {
console.log('I am faster')
})
.add('slower task', async () => {
await new Promise(resolve => setTimeout(resolve, 1)) // we wait 1ms :)
console.log('I am slower')
})
await bench.run()
Use
const bench = new Bench({
name: 'simple benchmark',
time: 100,
tasks: [
{
name: 'faster task',
fn: () => {
console.log('I am faster')
}),
},
{
name: 'slower task',
fn: async () => {
await new Promise(resolve => setTimeout(resolve, 1)) // we wait 1ms :)
console.log('I am faster')
}),
}
]
})
await bench.run()
Maybe we can also support pass functions directly, use the function name as name
const bench = new Bench({
name: 'simple benchmark',
time: 100,
tasks: [
function a(){},
function b(){},
]
})
await bench.run()