From 05bd6b7bcd5e1e962413afe66564f2b60b0178e6 Mon Sep 17 00:00:00 2001 From: Ben Noordhuis Date: Thu, 21 Mar 2013 13:12:41 +0100 Subject: [PATCH] bench: add child process read perf benchmark --- benchmark/misc/child-process-read.js | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 benchmark/misc/child-process-read.js diff --git a/benchmark/misc/child-process-read.js b/benchmark/misc/child-process-read.js new file mode 100644 index 0000000000..894dd55d30 --- /dev/null +++ b/benchmark/misc/child-process-read.js @@ -0,0 +1,28 @@ +var common = require('../common.js'); +var bench = common.createBenchmark(main, { + len: [64, 256, 1024, 4096, 32768], + dur: [5] +}); + +var spawn = require('child_process').spawn; +function main(conf) { + bench.start(); + + var dur = +conf.dur; + var len = +conf.len; + + var msg = '"' + Array(len).join('.') + '"'; + var options = { 'stdio': ['ignore', 'ipc', 'ignore'] }; + var child = spawn('yes', [msg], options); + + var bytes = 0; + child.on('message', function(msg) { + bytes += msg.length; + }); + + setTimeout(function() { + child.kill(); + var gbits = (bytes * 8) / (1024 * 1024 * 1024); + bench.end(gbits); + }, dur * 1000); +}