import { randomInt } from 'node:crypto'
-import Benchmark from 'benny'
+import { bench, group, run } from 'mitata'
/**
* @param numberOfWorkers
)
}
-Benchmark.suite(
- 'Quick select',
- Benchmark.add('Loop select', () => {
+group('Quick select', () => {
+ bench('Loop select', () => {
loopSelect(tasksMap)
- }),
- Benchmark.add('Array sort select', () => {
+ })
+ bench('Array sort select', () => {
arraySortSelect(tasksMap)
- }),
- Benchmark.add('Quick select loop', () => {
+ })
+ bench('Quick select loop', () => {
quickSelectLoop(tasksMap)
- }),
- Benchmark.add('Quick select loop with random pivot', () => {
+ })
+ bench('Quick select loop with random pivot', () => {
quickSelectLoopRandomPivot(tasksMap)
- }),
- Benchmark.add('Quick select recursion', () => {
+ })
+ bench('Quick select recursion', () => {
quickSelectRecursion(tasksMap)
- }),
- Benchmark.add('Quick select recursion with random pivot', () => {
+ })
+ bench('Quick select recursion with random pivot', () => {
quickSelectRecursionRandomPivot(tasksMap)
- }),
- Benchmark.cycle(),
- Benchmark.complete(),
- Benchmark.save({
- file: 'quick-select',
- format: 'json',
- details: true
- }),
- Benchmark.save({
- file: 'quick-select',
- format: 'chart.html',
- details: true
- }),
- Benchmark.save({
- file: 'quick-select',
- format: 'table.html',
- details: true
})
-).catch(console.error)
+})
+
+await run({
+ units: true
+})