benchmark: add more EventEmitter benchmarks
authorBrian White <mscdex@mscdex.net>
Thu, 5 Feb 2015 20:26:28 +0000 (15:26 -0500)
committerBen Noordhuis <info@bnoordhuis.nl>
Fri, 6 Feb 2015 20:33:44 +0000 (21:33 +0100)
PR-URL: https://github.com/iojs/io.js/pull/730
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Brendan Ashworth <brendan.ashworth@me.com>
benchmark/events/ee-emit-multi-args.js [new file with mode: 0644]
benchmark/events/ee-emit.js [new file with mode: 0644]
benchmark/events/ee-listener-count.js [new file with mode: 0644]
benchmark/events/ee-listeners-many.js [new file with mode: 0644]
benchmark/events/ee-listeners.js [new file with mode: 0644]

diff --git a/benchmark/events/ee-emit-multi-args.js b/benchmark/events/ee-emit-multi-args.js
new file mode 100644 (file)
index 0000000..13e7ba5
--- /dev/null
@@ -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 (file)
index 0000000..8516537
--- /dev/null
@@ -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 (file)
index 0000000..a72f586
--- /dev/null
@@ -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 (file)
index 0000000..ba557de
--- /dev/null
@@ -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 (file)
index 0000000..f4e696f
--- /dev/null
@@ -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);
+}