events: improve listeners() performance

PR-URL: https://github.com/nodejs/node/pull/33863
Reviewed-By: Robert Nagy <ronagy@icloud.com>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Gerhard Stöbich <deb2001-github@yahoo.de>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Yongsheng Zhang <zyszys98@gmail.com>
This commit is contained in:
Brian White
2020-06-13 13:35:16 -04:00
committed by James M Snell
parent 272b46e04d
commit a4f3206b76
2 changed files with 5 additions and 4 deletions

View File

@@ -14,7 +14,7 @@ function main({ n, listeners, raw }) {
for (let k = 0; k < listeners; k += 1) {
ee.on('dummy0', () => {});
ee.on('dummy1', () => {});
ee.once('dummy1', () => {});
}
if (raw === 'true') {

View File

@@ -22,7 +22,6 @@
'use strict';
const {
Array,
Boolean,
Error,
MathMin,
@@ -613,9 +612,11 @@ function arrayClone(arr) {
}
function unwrapListeners(arr) {
const ret = new Array(arr.length);
const ret = arrayClone(arr);
for (let i = 0; i < ret.length; ++i) {
ret[i] = arr[i].listener || arr[i];
const orig = ret[i].listener;
if (typeof orig === 'function')
ret[i] = orig;
}
return ret;
}