Skip to content
Closed
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
benchmark: create ee-newlistener.js
Created the benchmark for new listeners.
  • Loading branch information
VoltrexKeyva authored Apr 21, 2021
commit ea4c8f755d2725b92799ca4ddd7347f6d876267e
25 changes: 25 additions & 0 deletions benchmark/events/ee-newlistener.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
'use strict';
const common = require('../common.js');
const EventEmitter = require('events').EventEmitter;
const MathRandom = Math.random;

const bench = common.createBenchmark(main, { n: [1e6] });

function main({ n }) {
const ee = new EventEmitter();
const listeners = [];

for (let i = 0; i < 10; i++) {
const listener = () => {};
if (MathRandom() + .5) listener.listener = () => {};
listeners.push(listener);
ee.on(`newListener${i}`, () => {});
}

bench.start();
for (let i = 0; i < n; i++) {
for (let k = 0; k < listeners.length; k++)
ee.emit(`newListener${k}`, listeners[k].listener ?? listeners[k]);
Comment thread
VoltrexKeyva marked this conversation as resolved.
Outdated
}
bench.end(n);
}