From 75d6f111aaa6e8638cd90ce2c8e6bb21e95fa4d8 Mon Sep 17 00:00:00 2001 From: Troy Connor Date: Wed, 7 Dec 2016 11:06:30 -0500 Subject: [PATCH] benchmark: refactor buffer benchmarks Add configuration object createBenchmark object for buffer size & iteration in buffer-base64-encode & buffer-base64-decode.js. PR-URL: https://github.com/nodejs/node/pull/10175 Reviewed-By: James M Snell Reviewed-By: Brian White --- benchmark/buffers/buffer-base64-decode.js | 9 ++++++--- benchmark/buffers/buffer-base64-encode.js | 20 ++++++++++++-------- 2 files changed, 18 insertions(+), 11 deletions(-) diff --git a/benchmark/buffers/buffer-base64-decode.js b/benchmark/buffers/buffer-base64-decode.js index 01f7f1bc91..3d00e69b90 100644 --- a/benchmark/buffers/buffer-base64-decode.js +++ b/benchmark/buffers/buffer-base64-decode.js @@ -2,15 +2,18 @@ const assert = require('assert'); const common = require('../common.js'); -const bench = common.createBenchmark(main, {}); +const bench = common.createBenchmark(main, { + n: [32], +}); function main(conf) { + const n = +conf.n; const s = 'abcd'.repeat(8 << 20); s.match(/./); // Flatten string. assert.strictEqual(s.length % 4, 0); const b = Buffer.allocUnsafe(s.length / 4 * 3); b.write(s, 0, s.length, 'base64'); bench.start(); - for (var i = 0; i < 32; i += 1) b.base64Write(s, 0, s.length); - bench.end(32); + for (var i = 0; i < n; i += 1) b.base64Write(s, 0, s.length); + bench.end(n); } diff --git a/benchmark/buffers/buffer-base64-encode.js b/benchmark/buffers/buffer-base64-encode.js index 930dc82b6b..f618ba21ec 100644 --- a/benchmark/buffers/buffer-base64-encode.js +++ b/benchmark/buffers/buffer-base64-encode.js @@ -1,16 +1,20 @@ 'use strict'; var common = require('../common.js'); -var bench = common.createBenchmark(main, {}); +const bench = common.createBenchmark(main, { + len: [64 * 1024 * 1024], + n: [32] +}); function main(conf) { - var N = 64 * 1024 * 1024; - var b = Buffer.allocUnsafe(N); - var s = ''; - var i; + const n = +conf.n; + const len = +conf.len; + const b = Buffer.allocUnsafe(len); + let s = ''; + let i; for (i = 0; i < 256; ++i) s += String.fromCharCode(i); - for (i = 0; i < N; i += 256) b.write(s, i, 256, 'ascii'); + for (i = 0; i < len; i += 256) b.write(s, i, 256, 'ascii'); bench.start(); - for (i = 0; i < 32; ++i) b.toString('base64'); - bench.end(64); + for (i = 0; i < n; ++i) b.toString('base64'); + bench.end(n); }