-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathbenchmark.js
More file actions
37 lines (28 loc) · 748 Bytes
/
Copy pathbenchmark.js
File metadata and controls
37 lines (28 loc) · 748 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
const { FixedQueue } = require("./dist/index");
var timer = function(name) {
var start = new Date();
return {
stop: function() {
var end = new Date();
var time = end.getTime() - start.getTime();
console.log("Timer:", name, "finished in", time, "ms");
}
};
};
var sizeSample = 100000;
var initialValues = Array.apply(null, { length: sizeSample }).fill(
"0",
0,
sizeSample
);
var t = timer("FixedQueue benchmark");
var queue = new FixedQueue({
size: Math.floor(sizeSample / 1.5),
initialValues
});
for (var i = 0; i <= 10000; i++) queue.push(3);
t.stop();
var t = timer("Normal array benchmark");
var array = [...initialValues];
for (var i = 0; i <= 10000; i++) array.push(initialValues);
t.stop();