Skip to content

Commit f64454d

Browse files
committed
chore: Improve benchmarks command
1 parent 6e23b14 commit f64454d

File tree

11 files changed

+107
-16
lines changed

11 files changed

+107
-16
lines changed

benchmarks/add-remove.js

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ const { EventEmitter } = require("events");
33
const { EventEmitter2 } = require("eventemitter2");
44
const EventEmitter3 = require("eventemitter3");
55
const { EventEmitter: DripEmitter } = require("drip");
6+
const { EventEmitter: FoxifyEmitterV1 } = require("eventsV1");
67
const FoxifyEmitter = require("..").default;
78

89
function handle() {
@@ -13,6 +14,7 @@ const eventEmitter = new EventEmitter();
1314
const eventEmitter2 = new EventEmitter2();
1415
const eventEmitter3 = new EventEmitter3();
1516
const dripEmitter = new DripEmitter();
17+
const foxifyEmitterV1 = new FoxifyEmitterV1();
1618
const foxifyEmitter = new FoxifyEmitter();
1719

1820
new Suite()
@@ -24,6 +26,10 @@ new Suite()
2426
foxifyEmitter.on("foo", handle);
2527
foxifyEmitter.removeListener("foo", handle);
2628
})
29+
.add("@foxify/events (v1)", () => {
30+
foxifyEmitterV1.on("foo", handle);
31+
foxifyEmitterV1.removeListener("foo", handle);
32+
})
2733
.add("eventemitter2", () => {
2834
eventEmitter2.on("foo", handle);
2935
eventEmitter2.removeListener("foo", handle);

benchmarks/context.js

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ const { EventEmitter } = require("events");
33
const { EventEmitter2 } = require("eventemitter2");
44
const EventEmitter3 = require("eventemitter3");
55
const { EventEmitter: DripEmitter } = require("drip");
6+
const { EventEmitter: FoxifyEmitterV1 } = require("eventsV1");
67
const FoxifyEmitter = require("..").default;
78

89
const ctx = { foo: "bar" };
@@ -15,12 +16,14 @@ const eventEmitter = new EventEmitter();
1516
const eventEmitter2 = new EventEmitter2();
1617
const eventEmitter3 = new EventEmitter3();
1718
const dripEmitter = new DripEmitter();
19+
const foxifyEmitterV1 = new FoxifyEmitterV1();
1820
const foxifyEmitter = new FoxifyEmitter();
1921

2022
eventEmitter.on("foo", handle.bind(ctx));
2123
eventEmitter2.on("foo", handle.bind(ctx));
2224
eventEmitter3.on("foo", handle, ctx);
2325
dripEmitter.on("foo", handle.bind(ctx));
26+
foxifyEmitterV1.on("foo", handle, ctx);
2427
foxifyEmitter.on("foo", handle, ctx);
2528

2629
new Suite()
@@ -30,6 +33,9 @@ new Suite()
3033
.add("@foxify/events", () => {
3134
foxifyEmitter.emit("foo");
3235
})
36+
.add("@foxify/events (v1)", () => {
37+
foxifyEmitterV1.emit("foo");
38+
})
3339
.add("eventemitter2", () => {
3440
eventEmitter2.emit("foo");
3541
})

benchmarks/emit-multiple-listeners.js

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ const { EventEmitter } = require("events");
33
const { EventEmitter2 } = require("eventemitter2");
44
const EventEmitter3 = require("eventemitter3");
55
const { EventEmitter: DripEmitter } = require("drip");
6+
const { EventEmitter: FoxifyEmitterV1 } = require("eventsV1");
67
const FoxifyEmitter = require("..").default;
78

89
function foo() {
@@ -21,12 +22,14 @@ const eventEmitter = new EventEmitter();
2122
const eventEmitter2 = new EventEmitter2();
2223
const eventEmitter3 = new EventEmitter3();
2324
const dripEmitter = new DripEmitter();
25+
const foxifyEmitterV1 = new FoxifyEmitterV1();
2426
const foxifyEmitter = new FoxifyEmitter();
2527

2628
eventEmitter.on("foo", foo).on("foo", bar).on("foo", baz);
2729
eventEmitter2.on("foo", foo).on("foo", bar).on("foo", baz);
2830
eventEmitter3.on("foo", foo).on("foo", bar).on("foo", baz);
2931
dripEmitter.on("foo", foo).on("foo", bar).on("foo", baz);
32+
foxifyEmitterV1.on("foo", foo).on("foo", bar).on("foo", baz);
3033
foxifyEmitter.on("foo", foo).on("foo", bar).on("foo", baz);
3134

3235
new Suite()
@@ -36,6 +39,9 @@ new Suite()
3639
.add("@foxify/events", () => {
3740
foxifyEmitter.emit("foo");
3841
})
42+
.add("@foxify/events (v1)", () => {
43+
foxifyEmitterV1.emit("foo");
44+
})
3945
.add("eventemitter2", () => {
4046
eventEmitter2.emit("foo");
4147
})

benchmarks/emit.js

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ const { EventEmitter } = require("events");
33
const { EventEmitter2 } = require("eventemitter2");
44
const EventEmitter3 = require("eventemitter3");
55
const { EventEmitter: DripEmitter } = require("drip");
6+
const { EventEmitter: FoxifyEmitterV1 } = require("eventsV1");
67
const FoxifyEmitter = require("..").default;
78

89
function handle() {
@@ -13,12 +14,14 @@ const eventEmitter = new EventEmitter();
1314
const eventEmitter2 = new EventEmitter2();
1415
const eventEmitter3 = new EventEmitter3();
1516
const dripEmitter = new DripEmitter();
17+
const foxifyEmitterV1 = new FoxifyEmitterV1();
1618
const foxifyEmitter = new FoxifyEmitter();
1719

1820
eventEmitter.on("foo", handle);
1921
eventEmitter2.on("foo", handle);
2022
eventEmitter3.on("foo", handle);
2123
dripEmitter.on("foo", handle);
24+
foxifyEmitterV1.on("foo", handle);
2225
foxifyEmitter.on("foo", handle);
2326

2427
new Suite()
@@ -28,6 +31,9 @@ new Suite()
2831
.add("@foxify/events", () => {
2932
foxifyEmitter.emit("foo");
3033
})
34+
.add("@foxify/events (v1)", () => {
35+
foxifyEmitterV1.emit("foo");
36+
})
3137
.add("eventemitter2", () => {
3238
eventEmitter2.emit("foo");
3339
})

benchmarks/hundreds.js

Lines changed: 15 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ const { EventEmitter } = require("events");
33
const { EventEmitter2 } = require("eventemitter2");
44
const EventEmitter3 = require("eventemitter3");
55
const { EventEmitter: DripEmitter } = require("drip");
6+
const { EventEmitter: FoxifyEmitterV1 } = require("eventsV1");
67
const FoxifyEmitter = require("..").default;
78

89
function handle() {
@@ -13,41 +14,48 @@ const eventEmitter = new EventEmitter();
1314
const eventEmitter2 = new EventEmitter2();
1415
const eventEmitter3 = new EventEmitter3();
1516
const dripEmitter = new DripEmitter();
17+
const foxifyEmitterV1 = new FoxifyEmitterV1();
1618
const foxifyEmitter = new FoxifyEmitter();
1719

18-
for (i = 0; i < 10; i++) {
19-
for (j = 0; j < 10; j++) {
20+
for (let i = 0; i < 10; i++) {
21+
for (let j = 0; j < 10; j++) {
2022
eventEmitter.on(`event:${i}`, handle);
2123
eventEmitter2.on(`event:${i}`, handle);
2224
eventEmitter3.on(`event:${i}`, handle);
2325
dripEmitter.on(`event:${i}`, handle);
26+
foxifyEmitterV1.on(`event:${i}`, handle);
2427
foxifyEmitter.on(`event:${i}`, handle);
2528
}
2629
}
2730

2831
new Suite()
2932
.add("events", () => {
30-
for (i = 0; i < 10; i++) {
33+
for (let i = 0; i < 10; i++) {
3134
eventEmitter.emit(`event:${i}`);
3235
}
3336
})
3437
.add("@foxify/events", () => {
35-
for (i = 0; i < 10; i++) {
38+
for (let i = 0; i < 10; i++) {
3639
foxifyEmitter.emit(`event:${i}`);
3740
}
3841
})
42+
.add("@foxify/events (v1)", () => {
43+
for (let i = 0; i < 10; i++) {
44+
foxifyEmitterV1.emit(`event:${i}`);
45+
}
46+
})
3947
.add("eventemitter2", () => {
40-
for (i = 0; i < 10; i++) {
48+
for (let i = 0; i < 10; i++) {
4149
eventEmitter2.emit(`event:${i}`);
4250
}
4351
})
4452
.add("eventemitter3", () => {
45-
for (i = 0; i < 10; i++) {
53+
for (let i = 0; i < 10; i++) {
4654
eventEmitter3.emit(`event:${i}`);
4755
}
4856
})
4957
.add("drip", () => {
50-
for (i = 0; i < 10; i++) {
58+
for (let i = 0; i < 10; i++) {
5159
dripEmitter.emit(`event:${i}`);
5260
}
5361
})

benchmarks/init.js

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ const { EventEmitter } = require("events");
33
const { EventEmitter2 } = require("eventemitter2");
44
const EventEmitter3 = require("eventemitter3");
55
const { EventEmitter: DripEmitter } = require("drip");
6+
const { EventEmitter: FoxifyEmitterV1 } = require("eventsV1");
67
const FoxifyEmitter = require("..").default;
78

89
new Suite()
@@ -12,6 +13,9 @@ new Suite()
1213
.add("@foxify/events", () => {
1314
const emitter = new FoxifyEmitter();
1415
})
16+
.add("@foxify/events (v1)", () => {
17+
const emitter = new FoxifyEmitterV1();
18+
})
1519
.add("eventemitter2", () => {
1620
const emitter = new EventEmitter2();
1721
})

benchmarks/listeners.js

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ const { EventEmitter } = require("events");
33
const { EventEmitter2 } = require("eventemitter2");
44
const EventEmitter3 = require("eventemitter3");
55
const { EventEmitter: DripEmitter } = require("drip");
6+
const { EventEmitter: FoxifyEmitterV1 } = require("eventsV1");
67
const FoxifyEmitter = require("..").default;
78

89
function handle() {
@@ -13,6 +14,7 @@ const eventEmitter = new EventEmitter();
1314
const eventEmitter2 = new EventEmitter2();
1415
const eventEmitter3 = new EventEmitter3();
1516
const dripEmitter = new DripEmitter();
17+
const foxifyEmitterV1 = new FoxifyEmitterV1();
1618
const foxifyEmitter = new FoxifyEmitter();
1719

1820
eventEmitter.setMaxListeners(25);
@@ -23,6 +25,7 @@ for (let i = 0; i < 25; i++) {
2325
eventEmitter2.on("foo", handle);
2426
eventEmitter3.on("foo", handle);
2527
dripEmitter.on("foo", handle);
28+
foxifyEmitterV1.on("foo", handle);
2629
foxifyEmitter.on("foo", handle);
2730
}
2831

@@ -33,6 +36,9 @@ new Suite()
3336
.add("@foxify/events", () => {
3437
foxifyEmitter.listeners("foo");
3538
})
39+
.add("@foxify/events (v1)", () => {
40+
foxifyEmitterV1.listeners("foo");
41+
})
3642
.add("eventemitter2", () => {
3743
eventEmitter2.listeners("foo");
3844
})

benchmarks/once.js

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ const { EventEmitter } = require("events");
33
const { EventEmitter2 } = require("eventemitter2");
44
const EventEmitter3 = require("eventemitter3");
55
const { EventEmitter: DripEmitter } = require("drip");
6+
const { EventEmitter: FoxifyEmitterV1 } = require("eventsV1");
67
const FoxifyEmitter = require("..").default;
78

89
function handle() {
@@ -13,6 +14,7 @@ const eventEmitter = new EventEmitter();
1314
const eventEmitter2 = new EventEmitter2();
1415
const eventEmitter3 = new EventEmitter3();
1516
const dripEmitter = new DripEmitter();
17+
const foxifyEmitterV1 = new FoxifyEmitterV1();
1618
const foxifyEmitter = new FoxifyEmitter();
1719

1820
new Suite()
@@ -22,6 +24,9 @@ new Suite()
2224
.add("@foxify/events", () => {
2325
foxifyEmitter.once("foo", handle).emit("foo");
2426
})
27+
.add("@foxify/events (v1)", () => {
28+
foxifyEmitterV1.once("foo", handle).emit("foo");
29+
})
2530
.add("eventemitter2", () => {
2631
eventEmitter2.once("foo", handle).emit("foo");
2732
})

benchmarks/package.json

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
{
2+
"private": true,
3+
"devDependencies": {
4+
"benchmark": "^2.1.4",
5+
"drip": "^1.4.0",
6+
"eventemitter2": "^6.4.3",
7+
"eventemitter3": "^4.0.7",
8+
"eventsV1": "npm:@foxify/events@^1.1.4"
9+
}
10+
}

package-lock.json

Lines changed: 39 additions & 4 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)