events: improve performance for emit(), on(), and listeners()
Results:
improvement confidence p.value
events/ee-add-remove.js listeners=2 n=9000000 7.19 % *** 1.372451e-06
events/ee-emit.js listeners=2 n=100000000 23.17 % *** 4.828907e-66
events/ee-emit.js listeners=3 n=100000000 26.26 % *** 1.538432e-24
events/ee-emit.js listeners=4 n=100000000 52.78 % *** 3.552876e-25
events/ee-emit.js listeners=5 n=100000000 54.99 % *** 9.689188e-105
events/ee-emit.js listeners=10 n=100000000 18.32 % *** 5.38142e-30
events/ee-listeners.js listeners=2 n=55000000 13.62 % *** 4.538509e-64
events/ee-listeners.js listeners=3 n=55000000 12.38 % *** 8.824486e-67
events/ee-listeners.js listeners=4 n=55000000 10.98 % *** 1.828026e-65
events/ee-listeners.js listeners=10 n=55000000 1.31 % *** 2.647896e-07
CI: https://ci.nodejs.org/job/node-test-pull-request/8230/
Checklist
-
make -j4 test
(UNIX), orvcbuild test
(Windows) passes -
tests and/or benchmarks are included -
commit message follows commit guidelines
Affected core subsystem(s)
- events