Skip to content

event: improve performance of EventEmitter.emit#29633

Closed
mcollina wants to merge 1 commit intonodejs:masterfrom
mcollina:restore-perf-emit
Closed

event: improve performance of EventEmitter.emit#29633
mcollina wants to merge 1 commit intonodejs:masterfrom
mcollina:restore-perf-emit

Conversation

@mcollina
Copy link
Member

This restore some performance we lost when we introduced primordialias.
Improvements are up to +100%.

Details
                                                     confidence improvement accuracy (*)   (**)  (***)
 events/ee-add-remove.js n=1000000                                   0.18 %       ±0.51% ±0.68% ±0.88%
 events/ee-emit.js listeners=1 argc=0 n=2000000             ***     43.53 %       ±1.04% ±1.40% ±1.84%
 events/ee-emit.js listeners=1 argc=10 n=2000000            ***     26.47 %       ±1.61% ±2.14% ±2.79%
 events/ee-emit.js listeners=1 argc=2 n=2000000             ***     22.94 %       ±1.02% ±1.38% ±1.82%
 events/ee-emit.js listeners=1 argc=4 n=2000000             ***     24.83 %       ±2.27% ±3.04% ±3.99%
 events/ee-emit.js listeners=10 argc=0 n=2000000            ***    111.71 %       ±1.43% ±1.91% ±2.50%
 events/ee-emit.js listeners=10 argc=10 n=2000000           ***     29.13 %       ±1.76% ±2.34% ±3.05%
 events/ee-emit.js listeners=10 argc=2 n=2000000            ***     27.52 %       ±1.60% ±2.13% ±2.78%
 events/ee-emit.js listeners=10 argc=4 n=2000000            ***     31.05 %       ±2.91% ±3.92% ±5.19%
 events/ee-emit.js listeners=5 argc=0 n=2000000             ***     73.72 %       ±0.98% ±1.31% ±1.72%
 events/ee-emit.js listeners=5 argc=10 n=2000000            ***     28.93 %       ±1.68% ±2.24% ±2.92%
 events/ee-emit.js listeners=5 argc=2 n=2000000             ***     28.53 %       ±1.71% ±2.30% ±3.03%
 events/ee-emit.js listeners=5 argc=4 n=2000000             ***     28.88 %       ±0.78% ±1.04% ±1.35%
 events/ee-listener-count-on-prototype.js n=50000000                 0.73 %       ±0.81% ±1.08% ±1.41%
 events/ee-listeners-many.js n=5000000                               0.52 %       ±1.13% ±1.51% ±1.96%
 events/ee-listeners.js n=5000000                                   -0.68 %       ±2.06% ±2.77% ±3.66%
 events/ee-once.js argc=0 n=20000000                        ***     14.97 %       ±3.18% ±4.23% ±5.51%
 events/ee-once.js argc=1 n=20000000                        ***      8.85 %       ±1.30% ±1.75% ±2.29%
 events/ee-once.js argc=4 n=20000000                        ***      8.55 %       ±1.10% ±1.47% ±1.91%
 events/ee-once.js argc=5 n=20000000                        ***      7.37 %       ±1.10% ±1.46% ±1.90
Checklist
  • make -j4 test (UNIX), or vcbuild test (Windows) passes
  • commit message follows commit guidelines

Loading
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

author ready PRs that have at least one approval, no pending requests for changes, and a CI started. events Issues and PRs related to the events subsystem / EventEmitter. performance Issues and PRs related to the performance of Node.js.

Projects

None yet

Development

Successfully merging this pull request may close these issues.