gui/ui/node_modules.bak/piscina/benchmark/queue-comparison.js
Snider fad16c8c76
Some checks failed
Security Scan / security (push) Failing after 34s
Test / test (push) Failing after 1m44s
chore: sync workspace dependencies
Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-15 15:44:56 +00:00

32 lines
748 B
JavaScript

const { Bench } = require('tinybench');
const { ArrayTaskQueue, FixedQueue } = require('..');
const QUEUE_SIZE = 100_000;
const bench = new Bench({ time: 100, warmup: true });
bench
.add('ArrayTaskQueue full push + full shift', async () => {
const queue = new ArrayTaskQueue();
for (let i = 0; i < QUEUE_SIZE; i++) {
queue.push(i);
}
for (let i = 0; i < QUEUE_SIZE; i++) {
queue.shift();
}
})
.add('FixedQueue full push + full shift', async () => {
const queue = new FixedQueue();
for (let i = 0; i < QUEUE_SIZE; i++) {
queue.push(i);
}
for (let i = 0; i < QUEUE_SIZE; i++) {
queue.shift();
}
});
(async () => {
await bench.run();
console.table(bench.table());
})();