From aa973c5cd95d4ce7691f8d32a14cc5e6b07c997e Mon Sep 17 00:00:00 2001 From: Diego Lafuente Date: Thu, 30 May 2019 11:40:08 +0200 Subject: [PATCH] benchmark: add clear connections to secure-pair adds clear connections to the secure-pair performance test to prove that in some cases (when the sender send the data in small chunks) clear connections perform worse than TLS connections Also add a byte chunk size test to benchmark/net/net-pipe.js Refs: https://github.com/nodejs/node/issues/27970 PR-URL: https://github.com/nodejs/node/pull/27971 Reviewed-By: James M Snell Reviewed-By: Anna Henningsen --- benchmark/net/net-pipe.js | 2 +- benchmark/tls/secure-pair.js | 10 +++++++--- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/benchmark/net/net-pipe.js b/benchmark/net/net-pipe.js index f19e30b5450785..06426129f7f271 100644 --- a/benchmark/net/net-pipe.js +++ b/benchmark/net/net-pipe.js @@ -6,7 +6,7 @@ const net = require('net'); const PORT = common.PORT; const bench = common.createBenchmark(main, { - len: [64, 102400, 1024 * 1024 * 16], + len: [2, 64, 102400, 1024 * 1024 * 16], type: ['utf', 'asc', 'buf'], dur: [5], }); diff --git a/benchmark/tls/secure-pair.js b/benchmark/tls/secure-pair.js index c0409febacda00..c52f4cbf918a1d 100644 --- a/benchmark/tls/secure-pair.js +++ b/benchmark/tls/secure-pair.js @@ -2,8 +2,8 @@ const common = require('../common.js'); const bench = common.createBenchmark(main, { dur: [5], - securing: ['SecurePair', 'TLSSocket'], - size: [2, 1024, 1024 * 1024] + securing: ['SecurePair', 'TLSSocket', 'clear'], + size: [2, 100, 1024, 1024 * 1024] }); const fixtures = require('../../test/common/fixtures'); @@ -37,7 +37,8 @@ function main({ dur, size, securing }) { isServer: false, rejectUnauthorized: false, }; - const conn = tls.connect(clientOptions, () => { + const network = securing === 'clear' ? net : tls; + const conn = network.connect(clientOptions, () => { setTimeout(() => { const mbits = (received * 8) / (1024 * 1024); bench.end(mbits); @@ -69,6 +70,9 @@ function main({ dur, size, securing }) { case 'TLSSocket': secureTLSSocket(conn, client); break; + case 'clear': + conn.pipe(client); + break; default: throw new Error('Invalid securing method'); }