benchmark: Improve event performance tests. · nodejs/node@65a2e80 · GitHub
Skip to content

Commit 65a2e80

Browse files
bmeureraddaleax
authored andcommitted
benchmark: Improve event performance tests.
Currently most of the event tests only test a single event type, which might let those benchmark take fast-paths (in V8) that aren't taken in realistic use cases, and thus the benchmarks are not good proxies of real world uses. PR-URL: #14052 Reviewed-By: Matteo Collina <matteo.collina@gmail.com> Reviewed-By: Timothy Gu <timothygu99@gmail.com> Reviewed-By: Michaël Zasso <targos@protonmail.com>
1 parent cf6afe3 commit 65a2e80

5 files changed

Lines changed: 28 additions & 15 deletions

File tree

benchmark/events/ee-add-remove.js

Lines changed: 7 additions & 4 deletions

benchmark/events/ee-listener-count-on-prototype.js

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,12 +9,15 @@ function main(conf) {
99

1010
var ee = new EventEmitter();
1111

12-
for (var k = 0; k < 10; k += 1)
13-
ee.on('dummy', function() {});
12+
for (var k = 0; k < 5; k += 1) {
13+
ee.on('dummy0', function() {});
14+
ee.on('dummy1', function() {});
15+
}
1416

1517
bench.start();
1618
for (var i = 0; i < n; i += 1) {
17-
ee.listenerCount('dummy');
19+
var dummy = (i % 2 === 0) ? 'dummy0' : 'dummy1';
20+
ee.listenerCount(dummy);
1821
}
1922
bench.end(n);
2023
}

benchmark/events/ee-listeners-many.js

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,12 +10,15 @@ function main(conf) {
1010
var ee = new EventEmitter();
1111
ee.setMaxListeners(101);
1212

13-
for (var k = 0; k < 100; k += 1)
14-
ee.on('dummy', function() {});
13+
for (var k = 0; k < 50; k += 1) {
14+
ee.on('dummy0', function() {});
15+
ee.on('dummy1', function() {});
16+
}
1517

1618
bench.start();
1719
for (var i = 0; i < n; i += 1) {
18-
ee.listeners('dummy');
20+
var dummy = (i % 2 === 0) ? 'dummy0' : 'dummy1';
21+
ee.listeners(dummy);
1922
}
2023
bench.end(n);
2124
}

benchmark/events/ee-listeners.js

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,12 +9,15 @@ function main(conf) {
99

1010
var ee = new EventEmitter();
1111

12-
for (var k = 0; k < 10; k += 1)
13-
ee.on('dummy', function() {});
12+
for (var k = 0; k < 5; k += 1) {
13+
ee.on('dummy0', function() {});
14+
ee.on('dummy1', function() {});
15+
}
1416

1517
bench.start();
1618
for (var i = 0; i < n; i += 1) {
17-
ee.listeners('dummy');
19+
var dummy = (i % 2 === 0) ? 'dummy0' : 'dummy1';
20+
ee.listeners(dummy);
1821
}
1922
bench.end(n);
2023
}

benchmark/events/ee-once.js

Lines changed: 3 additions & 2 deletions

0 commit comments

Comments
 (0)