diff options
author | Brian White <mscdex@mscdex.net> | 2020-06-06 14:18:46 -0400 |
---|---|---|
committer | Brian White <mscdex@mscdex.net> | 2020-06-08 15:21:13 -0400 |
commit | 4ba90809edec189a2c4662258ef6cadb9d9620b4 (patch) | |
tree | 23e8b60e988b871adb6a54f598dd29a4b676747c /benchmark/events | |
parent | 651088c3e6b6399a3e656e397c3845b970ad7903 (diff) | |
download | node-new-4ba90809edec189a2c4662258ef6cadb9d9620b4.tar.gz |
events: improve arrayClone performance
PR-URL: https://github.com/nodejs/node/pull/33774
Reviewed-By: Robert Nagy <ronagy@icloud.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>
Reviewed-By: Michaƫl Zasso <targos@protonmail.com>
Reviewed-By: Zeyu Yang <himself65@outlook.com>
Diffstat (limited to 'benchmark/events')
-rw-r--r-- | benchmark/events/ee-emit.js | 1 | ||||
-rw-r--r-- | benchmark/events/ee-listeners-many.js | 22 | ||||
-rw-r--r-- | benchmark/events/ee-listeners.js | 30 |
3 files changed, 23 insertions, 30 deletions
diff --git a/benchmark/events/ee-emit.js b/benchmark/events/ee-emit.js index 39bcbb937d..ec35277a9c 100644 --- a/benchmark/events/ee-emit.js +++ b/benchmark/events/ee-emit.js @@ -10,6 +10,7 @@ const bench = common.createBenchmark(main, { function main({ n, argc, listeners }) { const ee = new EventEmitter(); + ee.setMaxListeners(listeners + 1); for (let k = 0; k < listeners; k += 1) ee.on('dummy', () => {}); diff --git a/benchmark/events/ee-listeners-many.js b/benchmark/events/ee-listeners-many.js deleted file mode 100644 index bd3f3538d6..0000000000 --- a/benchmark/events/ee-listeners-many.js +++ /dev/null @@ -1,22 +0,0 @@ -'use strict'; -const common = require('../common.js'); -const EventEmitter = require('events').EventEmitter; - -const bench = common.createBenchmark(main, { n: [5e6] }); - -function main({ n }) { - const ee = new EventEmitter(); - ee.setMaxListeners(101); - - for (let k = 0; k < 50; k += 1) { - ee.on('dummy0', () => {}); - ee.on('dummy1', () => {}); - } - - bench.start(); - for (let i = 0; i < n; i += 1) { - const dummy = (i % 2 === 0) ? 'dummy0' : 'dummy1'; - ee.listeners(dummy); - } - bench.end(n); -} diff --git a/benchmark/events/ee-listeners.js b/benchmark/events/ee-listeners.js index 867393efff..08631e95e2 100644 --- a/benchmark/events/ee-listeners.js +++ b/benchmark/events/ee-listeners.js @@ -2,20 +2,34 @@ const common = require('../common.js'); const EventEmitter = require('events').EventEmitter; -const bench = common.createBenchmark(main, { n: [5e6] }); +const bench = common.createBenchmark(main, { + n: [5e6], + listeners: [5, 50], + raw: ['true', 'false'] +}); -function main({ n }) { +function main({ n, listeners, raw }) { const ee = new EventEmitter(); + ee.setMaxListeners(listeners * 2 + 1); - for (let k = 0; k < 5; k += 1) { + for (let k = 0; k < listeners; k += 1) { ee.on('dummy0', () => {}); ee.on('dummy1', () => {}); } - bench.start(); - for (let i = 0; i < n; i += 1) { - const dummy = (i % 2 === 0) ? 'dummy0' : 'dummy1'; - ee.listeners(dummy); + if (raw === 'true') { + bench.start(); + for (let i = 0; i < n; i += 1) { + const dummy = (i % 2 === 0) ? 'dummy0' : 'dummy1'; + ee.rawListeners(dummy); + } + bench.end(n); + } else { + bench.start(); + for (let i = 0; i < n; i += 1) { + const dummy = (i % 2 === 0) ? 'dummy0' : 'dummy1'; + ee.listeners(dummy); + } + bench.end(n); } - bench.end(n); } |