mirror of https://github.com/lukechilds/node.git
Browse Source
This commit takes advantage of the performance improvements V8 has made to function.bind() in V8 5.4 and uses it to avoid constant recompilation/reoptimization of the wrapper closure used in once(). This change results in ~27% performance increase for once(). PR-URL: https://github.com/nodejs/node/pull/10445 Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: Teddy Katz <teddy.katz@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com>v6
Brian White
8 years ago
2 changed files with 33 additions and 10 deletions
@ -0,0 +1,20 @@ |
|||
'use strict'; |
|||
var common = require('../common.js'); |
|||
var EventEmitter = require('events').EventEmitter; |
|||
|
|||
var bench = common.createBenchmark(main, {n: [2e7]}); |
|||
|
|||
function main(conf) { |
|||
var n = conf.n | 0; |
|||
|
|||
var ee = new EventEmitter(); |
|||
|
|||
function listener() {} |
|||
|
|||
bench.start(); |
|||
for (var i = 0; i < n; i += 1) { |
|||
ee.once('dummy', listener); |
|||
ee.emit('dummy'); |
|||
} |
|||
bench.end(n); |
|||
} |
Loading…
Reference in new issue