Commit d5fb789
committed
events: use spread function param in emit
With recent changes in V8, it is now as performant or faster to use
spread parameter within EventEmitter.prototype.emit, especially
in cases where looping over arguments is required.
events/ee-emit.js n=2000000 4.40 % *** 1.505543e-06
events/ee-emit-1-arg.js n=2000000 2.16 % *** 2.434584e-10
events/ee-emit-2-args.js n=2000000 1.05 % ** 0.001764852
events/ee-emit-3-args.js n=2000000 2.18 % *** 3.234954e-08
events/ee-emit-6-args.js n=2000000 17.17 % *** 1.298702e-103
events/ee-emit-10-args.js n=2000000 17.14 % *** 1.144958e-97
This has a knock-on effect for modules that use events extensively,
such as http2:
http2/headers.js nheaders=0 n=1000 2.10 % *** 6.792106e-11
PR-URL: #16212
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Refael Ackermann <refack@gmail.com>1 parent fd166a8 commit d5fb789
1 file changed
+17
-23
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
162 | 162 | | |
163 | 163 | | |
164 | 164 | | |
165 | | - | |
166 | | - | |
167 | | - | |
168 | | - | |
| 165 | + | |
| 166 | + | |
169 | 167 | | |
170 | | - | |
| 168 | + | |
171 | 169 | | |
172 | 170 | | |
173 | 171 | | |
174 | 172 | | |
175 | 173 | | |
176 | | - | |
| 174 | + | |
177 | 175 | | |
178 | 176 | | |
179 | 177 | | |
180 | | - | |
181 | | - | |
| 178 | + | |
| 179 | + | |
| 180 | + | |
182 | 181 | | |
183 | 182 | | |
184 | 183 | | |
| |||
202 | 201 | | |
203 | 202 | | |
204 | 203 | | |
205 | | - | |
| 204 | + | |
206 | 205 | | |
207 | 206 | | |
208 | 207 | | |
209 | 208 | | |
| 209 | + | |
210 | 210 | | |
211 | 211 | | |
212 | 212 | | |
213 | 213 | | |
214 | 214 | | |
215 | | - | |
216 | | - | |
217 | | - | |
218 | | - | |
219 | | - | |
| 215 | + | |
| 216 | + | |
| 217 | + | |
220 | 218 | | |
221 | 219 | | |
| 220 | + | |
| 221 | + | |
| 222 | + | |
222 | 223 | | |
223 | | - | |
| 224 | + | |
224 | 225 | | |
225 | 226 | | |
226 | | - | |
227 | | - | |
228 | | - | |
229 | | - | |
| 227 | + | |
230 | 228 | | |
231 | | - | |
232 | 229 | | |
233 | | - | |
234 | | - | |
235 | | - | |
236 | 230 | | |
237 | 231 | | |
238 | 232 | | |
| |||
0 commit comments