Skip to content

Commit 4fe125e

Browse files
committed
Add performance tests
1 parent 9d0d7c5 commit 4fe125e

File tree

13 files changed

+113
-191
lines changed

13 files changed

+113
-191
lines changed

JavaScript/0-usage.js

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
'use strict';
2+
3+
const Queue = require('./7-current.js');
4+
5+
const mq = new Queue({ nodeSize: 8, poolSize: 2 });
6+
7+
for (let id = 0; id < 5; id++) {
8+
mq.enqueue({ id });
9+
}
10+
11+
while (mq.length) {
12+
const task = mq.dequeue();
13+
console.log(`Processing ${task.id}`);
14+
}
15+
16+
for (let id = 100; id < 105; id++) {
17+
mq.enqueue({ id });
18+
}
19+
20+
while (mq.length) {
21+
const task = mq.dequeue();
22+
console.log(`Processing ${task.id}`);
23+
}

JavaScript/1-queue.js

Lines changed: 1 addition & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -16,24 +16,4 @@ class Queue {
1616
}
1717
}
1818

19-
// Usage
20-
21-
const mq = new Queue();
22-
23-
for (let id = 0; id < 5; id++) {
24-
mq.enqueue({ id });
25-
}
26-
27-
while (mq.length) {
28-
const task = mq.dequeue();
29-
console.log(`Processing ${task.id}`);
30-
}
31-
32-
for (let id = 100; id < 105; id++) {
33-
mq.enqueue({ id });
34-
}
35-
36-
while (mq.length) {
37-
const task = mq.dequeue();
38-
console.log(`Processing ${task.id}`);
39-
}
19+
module.exports = Queue;

JavaScript/2-naïve.js

Lines changed: 1 addition & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -37,24 +37,4 @@ class Queue {
3737
}
3838
}
3939

40-
// Usage
41-
42-
const mq = new Queue();
43-
44-
for (let id = 0; id < 5; id++) {
45-
mq.enqueue({ id });
46-
}
47-
48-
while (mq.length) {
49-
const task = mq.dequeue();
50-
console.log(`Processing ${task.id}`);
51-
}
52-
53-
for (let id = 100; id < 105; id++) {
54-
mq.enqueue({ id });
55-
}
56-
57-
while (mq.length) {
58-
const task = mq.dequeue();
59-
console.log(`Processing ${task.id}`);
60-
}
40+
module.exports = Queue;

JavaScript/3-fixed.js

Lines changed: 2 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -104,7 +104,7 @@ class FixedQueue {
104104
this.head.enqueue(data);
105105
}
106106

107-
deque() {
107+
dequeue() {
108108
const tail = this.tail;
109109
const next = tail.deque();
110110
if (tail.isEmpty() && tail.next !== null) {
@@ -116,24 +116,4 @@ class FixedQueue {
116116
}
117117
}
118118

119-
// Usage
120-
121-
const mq = new FixedQueue();
122-
123-
for (let id = 0; id < 5; id++) {
124-
mq.enqueue({ id });
125-
}
126-
127-
while (!mq.isEmpty()) {
128-
const task = mq.deque();
129-
console.log(`Processing ${task.id}`);
130-
}
131-
132-
for (let id = 100; id < 105; id++) {
133-
mq.enqueue({ id });
134-
}
135-
136-
while (!mq.isEmpty()) {
137-
const task = mq.deque();
138-
console.log(`Processing ${task.id}`);
139-
}
119+
module.exports = FixedQueue;

JavaScript/4-unrolled.js

Lines changed: 1 addition & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -70,24 +70,4 @@ class UnrolledQueue {
7070
}
7171
}
7272

73-
// Usage
74-
75-
const mq = new UnrolledQueue({ nodeSize: 8 });
76-
77-
for (let id = 0; id < 5; id++) {
78-
mq.enqueue({ id });
79-
}
80-
81-
while (mq.length) {
82-
const task = mq.dequeue();
83-
console.log(`Processing ${task.id}`);
84-
}
85-
86-
for (let id = 100; id < 105; id++) {
87-
mq.enqueue({ id });
88-
}
89-
90-
while (mq.length) {
91-
const task = mq.dequeue();
92-
console.log(`Processing ${task.id}`);
93-
}
73+
module.exports = UnrolledQueue;

JavaScript/5-spare.js

Lines changed: 1 addition & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -87,24 +87,4 @@ class UnrolledQueue {
8787
}
8888
}
8989

90-
// Usage
91-
92-
const mq = new UnrolledQueue({ nodeSize: 8 });
93-
94-
for (let id = 0; id < 5; id++) {
95-
mq.enqueue({ id });
96-
}
97-
98-
while (mq.length) {
99-
const task = mq.dequeue();
100-
console.log(`Processing ${task.id}`);
101-
}
102-
103-
for (let id = 100; id < 105; id++) {
104-
mq.enqueue({ id });
105-
}
106-
107-
while (mq.length) {
108-
const task = mq.dequeue();
109-
console.log(`Processing ${task.id}`);
110-
}
90+
module.exports = UnrolledQueue;

JavaScript/6-pool.js

Lines changed: 1 addition & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -97,24 +97,4 @@ class UnrolledQueue {
9797
}
9898
}
9999

100-
// Usage
101-
102-
const mq = new UnrolledQueue({ nodeSize: 8, poolSize: 2 });
103-
104-
for (let id = 0; id < 5; id++) {
105-
mq.enqueue({ id });
106-
}
107-
108-
while (mq.length) {
109-
const task = mq.dequeue();
110-
console.log(`Processing ${task.id}`);
111-
}
112-
113-
for (let id = 100; id < 105; id++) {
114-
mq.enqueue({ id });
115-
}
116-
117-
while (mq.length) {
118-
const task = mq.dequeue();
119-
console.log(`Processing ${task.id}`);
120-
}
100+
module.exports = UnrolledQueue;

JavaScript/7-current.js

Lines changed: 1 addition & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -96,24 +96,4 @@ class UnrolledQueue {
9696
}
9797
}
9898

99-
// Usage
100-
101-
const mq = new UnrolledQueue({ nodeSize: 8, poolSize: 2 });
102-
103-
for (let id = 0; id < 5; id++) {
104-
mq.enqueue({ id });
105-
}
106-
107-
while (mq.length) {
108-
const task = mq.dequeue();
109-
console.log(`Processing ${task.id}`);
110-
}
111-
112-
for (let id = 100; id < 105; id++) {
113-
mq.enqueue({ id });
114-
}
115-
116-
while (mq.length) {
117-
const task = mq.dequeue();
118-
console.log(`Processing ${task.id}`);
119-
}
99+
module.exports = UnrolledQueue;

JavaScript/8-circular.js

Lines changed: 1 addition & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -68,24 +68,4 @@ class UnrolledQueue {
6868
}
6969
}
7070

71-
// Usage
72-
73-
const mq = new UnrolledQueue({ nodeSize: 8 });
74-
75-
for (let id = 0; id < 5; id++) {
76-
mq.enqueue({ id });
77-
}
78-
79-
while (mq.length) {
80-
const task = mq.dequeue();
81-
console.log(`Processing ${task.id}`);
82-
}
83-
84-
for (let id = 100; id < 105; id++) {
85-
mq.enqueue({ id });
86-
}
87-
88-
while (mq.length) {
89-
const task = mq.dequeue();
90-
console.log(`Processing ${task.id}`);
91-
}
71+
module.exports = UnrolledQueue;

JavaScript/9-no-div.js

Lines changed: 2 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ class CircularQueueNode {
55

66
constructor({ size }) {
77
this.size = size;
8-
this.buffer = new Array(size).fill(null);
8+
this.buffer = new Array(size); //.fill(null);
99
this.readIndex = 0;
1010
this.writeIndex = 0;
1111
this.next = null;
@@ -68,24 +68,4 @@ class UnrolledQueue {
6868
}
6969
}
7070

71-
// Usage
72-
73-
const mq = new UnrolledQueue({ nodeSize: 8 });
74-
75-
for (let id = 0; id < 5; id++) {
76-
mq.enqueue({ id });
77-
}
78-
79-
while (mq.length) {
80-
const task = mq.dequeue();
81-
console.log(`Processing ${task.id}`);
82-
}
83-
84-
for (let id = 100; id < 105; id++) {
85-
mq.enqueue({ id });
86-
}
87-
88-
while (mq.length) {
89-
const task = mq.dequeue();
90-
console.log(`Processing ${task.id}`);
91-
}
71+
module.exports = UnrolledQueue;

0 commit comments

Comments
 (0)