node/benchmark/diagnostics_channel/publish.js
Stephen Belanger b38a43d5d9
lib: create diagnostics_channel module
PR-URL: https://github.com/nodejs/node/pull/34895
Reviewed-By: Bryan English <bryan@bryanenglish.com>
Reviewed-By: Gerhard Stöbich <deb2001-github@yahoo.de>
Reviewed-By: Vladimir de Turckheim <vlad2t@hotmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Gabriel Schulhof <gabriel.schulhof@intel.com>
Reviewed-By: Michael Dawson <midawson@redhat.com>
2020-11-03 17:54:20 +01:00

30 lines
535 B
JavaScript

'use strict';
const common = require('../common.js');
const dc = require('diagnostics_channel');
const bench = common.createBenchmark(main, {
n: [1e8],
subscribers: [0, 1, 10],
});
function noop() {}
function main({ n, subscribers }) {
const channel = dc.channel('test');
for (let i = 0; i < subscribers; i++) {
channel.subscribe(noop);
}
const data = {
foo: 'bar'
};
bench.start();
for (let i = 0; i < n; i++) {
if (channel.hasSubscribers) {
channel.publish(data);
}
}
bench.end(n);
}