From 847b9d212a404e5906ea9f366c458332c0318c53 Mon Sep 17 00:00:00 2001 From: Brian White Date: Thu, 5 Feb 2015 15:26:28 -0500 Subject: [PATCH] benchmark: add more EventEmitter benchmarks PR-URL: https://github.com/iojs/io.js/pull/730 Reviewed-By: Ben Noordhuis Reviewed-By: Brendan Ashworth --- benchmark/events/ee-emit-multi-args.js | 20 ++++++++++++++++++++ benchmark/events/ee-emit.js | 19 +++++++++++++++++++ benchmark/events/ee-listener-count.js | 20 ++++++++++++++++++++ benchmark/events/ee-listeners-many.js | 20 ++++++++++++++++++++ benchmark/events/ee-listeners.js | 19 +++++++++++++++++++ 5 files changed, 98 insertions(+) create mode 100644 benchmark/events/ee-emit-multi-args.js create mode 100644 benchmark/events/ee-emit.js create mode 100644 benchmark/events/ee-listener-count.js create mode 100644 benchmark/events/ee-listeners-many.js create mode 100644 benchmark/events/ee-listeners.js diff --git a/benchmark/events/ee-emit-multi-args.js b/benchmark/events/ee-emit-multi-args.js new file mode 100644 index 0000000..13e7ba5 --- /dev/null +++ b/benchmark/events/ee-emit-multi-args.js @@ -0,0 +1,20 @@ +var common = require('../common.js'); +var EventEmitter = require('events').EventEmitter; + +var bench = common.createBenchmark(main, {n: [25e4]}); + +function main(conf) { + var n = conf.n | 0; + + var ee = new EventEmitter(); + var listeners = []; + + for (var k = 0; k < 10; k += 1) + ee.on('dummy', function() {}); + + bench.start(); + for (var i = 0; i < n; i += 1) { + ee.emit('dummy', 5, true); + } + bench.end(n); +} diff --git a/benchmark/events/ee-emit.js b/benchmark/events/ee-emit.js new file mode 100644 index 0000000..8516537 --- /dev/null +++ b/benchmark/events/ee-emit.js @@ -0,0 +1,19 @@ +var common = require('../common.js'); +var EventEmitter = require('events').EventEmitter; + +var bench = common.createBenchmark(main, {n: [25e4]}); + +function main(conf) { + var n = conf.n | 0; + + var ee = new EventEmitter(); + + for (var k = 0; k < 10; k += 1) + ee.on('dummy', function() {}); + + bench.start(); + for (var i = 0; i < n; i += 1) { + ee.emit('dummy'); + } + bench.end(n); +} diff --git a/benchmark/events/ee-listener-count.js b/benchmark/events/ee-listener-count.js new file mode 100644 index 0000000..a72f586 --- /dev/null +++ b/benchmark/events/ee-listener-count.js @@ -0,0 +1,20 @@ +var common = require('../common.js'); +var EventEmitter = require('events').EventEmitter; + +var bench = common.createBenchmark(main, {n: [25e4]}); + +function main(conf) { + var n = conf.n | 0; + + var ee = new EventEmitter(); + var listenerCount = EventEmitter.listenerCount; + + for (var k = 0; k < 10; k += 1) + ee.on('dummy', function() {}); + + bench.start(); + for (var i = 0; i < n; i += 1) { + var r = listenerCount(ee, 'dummy'); + } + bench.end(n); +} diff --git a/benchmark/events/ee-listeners-many.js b/benchmark/events/ee-listeners-many.js new file mode 100644 index 0000000..ba557de --- /dev/null +++ b/benchmark/events/ee-listeners-many.js @@ -0,0 +1,20 @@ +var common = require('../common.js'); +var EventEmitter = require('events').EventEmitter; + +var bench = common.createBenchmark(main, {n: [25e4]}); + +function main(conf) { + var n = conf.n | 0; + + var ee = new EventEmitter(); + ee.setMaxListeners(101); + + for (var k = 0; k < 100; k += 1) + ee.on('dummy', function() {}); + + bench.start(); + for (var i = 0; i < n; i += 1) { + var r = ee.listeners('dummy'); + } + bench.end(n); +} diff --git a/benchmark/events/ee-listeners.js b/benchmark/events/ee-listeners.js new file mode 100644 index 0000000..f4e696f --- /dev/null +++ b/benchmark/events/ee-listeners.js @@ -0,0 +1,19 @@ +var common = require('../common.js'); +var EventEmitter = require('events').EventEmitter; + +var bench = common.createBenchmark(main, {n: [25e4]}); + +function main(conf) { + var n = conf.n | 0; + + var ee = new EventEmitter(); + + for (var k = 0; k < 10; k += 1) + ee.on('dummy', function() {}); + + bench.start(); + for (var i = 0; i < n; i += 1) { + var r = ee.listeners('dummy'); + } + bench.end(n); +} -- 2.7.4