mirror of
https://github.com/nodejs/node.git
synced 2024-11-29 15:06:33 +01:00
d3f8db1244
Replace the call to Array#splice() with a faster open-coded version that creates less garbage. Add a new benchmark to prove it. With the change applied, it scores a whopping 40% higher. PR-URL: https://github.com/iojs/io.js/pull/185 Reviewed-By: Chris Dickinson <christopher.s.dickinson@gmail.com>
24 lines
577 B
JavaScript
24 lines
577 B
JavaScript
var common = require('../common.js');
|
|
var events = require('events');
|
|
|
|
var bench = common.createBenchmark(main, {n: [25e4]});
|
|
|
|
function main(conf) {
|
|
var n = conf.n | 0;
|
|
|
|
var ee = new events.EventEmitter();
|
|
var listeners = [];
|
|
|
|
for (var k = 0; k < 10; k += 1)
|
|
listeners.push(function() {});
|
|
|
|
bench.start();
|
|
for (var i = 0; i < n; i += 1) {
|
|
for (var k = listeners.length; --k >= 0; /* empty */)
|
|
ee.on('dummy', listeners[k]);
|
|
for (var k = listeners.length; --k >= 0; /* empty */)
|
|
ee.removeListener('dummy', listeners[k]);
|
|
}
|
|
bench.end(n);
|
|
}
|