Skip to content

Commit ff7fbc3

Browse files
mscdexaddaleax
authored andcommitted
events: improve listeners() performance
PR-URL: #33863 Reviewed-By: Robert Nagy <[email protected]> Reviewed-By: Anna Henningsen <[email protected]> Reviewed-By: Gerhard Stöbich <[email protected]> Reviewed-By: Luigi Pinca <[email protected]> Reviewed-By: James M Snell <[email protected]> Reviewed-By: Yongsheng Zhang <[email protected]>
1 parent e4854de commit ff7fbc3

File tree

2 files changed

+5
-4
lines changed

2 files changed

+5
-4
lines changed

‎benchmark/events/ee-listeners.js‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ function main({n, listeners, raw }){
1414

1515
for(letk=0;k<listeners;k+=1){
1616
ee.on('dummy0',()=>{});
17-
ee.on('dummy1',()=>{});
17+
ee.once('dummy1',()=>{});
1818
}
1919

2020
if(raw==='true'){

‎lib/events.js‎

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,6 @@
2222
'use strict';
2323

2424
const{
25-
Array,
2625
Boolean,
2726
Error,
2827
MathMin,
@@ -616,9 +615,11 @@ function arrayClone(arr){
616615
}
617616

618617
functionunwrapListeners(arr){
619-
constret=newArray(arr.length);
618+
constret=arrayClone(arr);
620619
for(leti=0;i<ret.length;++i){
621-
ret[i]=arr[i].listener||arr[i];
620+
constorig=ret[i].listener;
621+
if(typeoforig==='function')
622+
ret[i]=orig;
622623
}
623624
returnret;
624625
}

0 commit comments

Comments
(0)