summaryrefslogtreecommitdiff
path: root/deps/node/benchmark/cluster/echo.js
diff options
context:
space:
mode:
Diffstat (limited to 'deps/node/benchmark/cluster/echo.js')
-rw-r--r--deps/node/benchmark/cluster/echo.js67
1 files changed, 0 insertions, 67 deletions
diff --git a/deps/node/benchmark/cluster/echo.js b/deps/node/benchmark/cluster/echo.js
deleted file mode 100644
index 73c5971c..00000000
--- a/deps/node/benchmark/cluster/echo.js
+++ /dev/null
@@ -1,67 +0,0 @@
-'use strict';
-
-const cluster = require('cluster');
-if (cluster.isMaster) {
- const common = require('../common.js');
- const bench = common.createBenchmark(main, {
- workers: [1],
- payload: ['string', 'object'],
- sendsPerBroadcast: [1, 10],
- n: [1e5]
- });
-
- function main({ n, workers, sendsPerBroadcast, payload }) {
- const expectedPerBroadcast = sendsPerBroadcast * workers;
- var readies = 0;
- var broadcasts = 0;
- var msgCount = 0;
- var data;
-
- switch (payload) {
- case 'string':
- data = 'hello world!';
- break;
- case 'object':
- data = { action: 'pewpewpew', powerLevel: 9001 };
- break;
- default:
- throw new Error('Unsupported payload type');
- }
-
- for (var i = 0; i < workers; ++i)
- cluster.fork().on('online', onOnline).on('message', onMessage);
-
- function onOnline() {
- if (++readies === workers) {
- bench.start();
- broadcast();
- }
- }
-
- function broadcast() {
- var id;
- if (broadcasts++ === n) {
- bench.end(n);
- for (id in cluster.workers)
- cluster.workers[id].disconnect();
- return;
- }
- for (id in cluster.workers) {
- const worker = cluster.workers[id];
- for (var i = 0; i < sendsPerBroadcast; ++i)
- worker.send(data);
- }
- }
-
- function onMessage() {
- if (++msgCount === expectedPerBroadcast) {
- msgCount = 0;
- broadcast();
- }
- }
- }
-} else {
- process.on('message', (msg) => {
- process.send(msg);
- });
-}