mirror of
https://github.com/nodejs/node.git
synced 2024-12-01 16:10:02 +01:00
4c9dd6822e
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>
21 lines
390 B
JavaScript
21 lines
390 B
JavaScript
'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);
|
|
}
|