Skip to content

Commit 8e05696

Browse files
author
Thiago Santos
committed
adding test case for irrelevant size
1 parent f942135 commit 8e05696

File tree

1 file changed

+25
-0
lines changed

1 file changed

+25
-0
lines changed

test/test.queue-performance.js

+25
Original file line numberDiff line numberDiff line change
@@ -30,4 +30,29 @@ describe('queue performance', () => {
3030
console.log(`Queue time: ${totalQueue[0] + totalQueue[1] / 1e9}`);
3131
expect(totalArray[0] + totalArray[1] / 1e9 > (totalQueue[0] + totalQueue[1] / 1e9) * 100).to.be.true;
3232
});
33+
34+
it('the time difference between array.shift and queue.shift should be irrelevant for small lengths', () => {
35+
const array = [];
36+
const queue = new Queue();
37+
for (let i = 1; i < 10000; i++) {
38+
array.push(i);
39+
queue.push(i);
40+
}
41+
42+
43+
const startQueue = process.hrtime();
44+
while (queue.length > 0) {
45+
queue.shift();
46+
}
47+
const totalQueue = process.hrtime(startQueue);
48+
const startArray = process.hrtime();
49+
while (array.length > 0) {
50+
array.shift();
51+
}
52+
const totalArray = process.hrtime(startArray);
53+
54+
console.log(`Array time: ${totalArray[0] + totalArray[1] / 1e9}`);
55+
console.log(`Queue time: ${totalQueue[0] + totalQueue[1] / 1e9}`);
56+
expect(totalArray[0] + totalArray[1] / 1e9 - (totalQueue[0] + totalQueue[1] / 1e9) < 0.001).to.be.true;
57+
});
3358
})

0 commit comments

Comments
 (0)