Browse Source

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 <jasnell@gmail.com>
Reviewed-By: Brian White <mscdex@mscdex.net>
v6
Troy Connor 8 years ago
committed by Rich Trott
parent
commit
7021e6b52d
  1. 9
      benchmark/buffers/buffer-base64-decode.js
  2. 20
      benchmark/buffers/buffer-base64-encode.js

9
benchmark/buffers/buffer-base64-decode.js

@ -2,15 +2,18 @@
const assert = require('assert'); const assert = require('assert');
const common = require('../common.js'); const common = require('../common.js');
const bench = common.createBenchmark(main, {}); const bench = common.createBenchmark(main, {
n: [32],
});
function main(conf) { function main(conf) {
const n = +conf.n;
const s = 'abcd'.repeat(8 << 20); const s = 'abcd'.repeat(8 << 20);
s.match(/./); // Flatten string. s.match(/./); // Flatten string.
assert.strictEqual(s.length % 4, 0); assert.strictEqual(s.length % 4, 0);
const b = Buffer.allocUnsafe(s.length / 4 * 3); const b = Buffer.allocUnsafe(s.length / 4 * 3);
b.write(s, 0, s.length, 'base64'); b.write(s, 0, s.length, 'base64');
bench.start(); bench.start();
for (var i = 0; i < 32; i += 1) b.base64Write(s, 0, s.length); for (var i = 0; i < n; i += 1) b.base64Write(s, 0, s.length);
bench.end(32); bench.end(n);
} }

20
benchmark/buffers/buffer-base64-encode.js

@ -1,16 +1,20 @@
'use strict'; 'use strict';
var common = require('../common.js'); var common = require('../common.js');
var bench = common.createBenchmark(main, {}); const bench = common.createBenchmark(main, {
len: [64 * 1024 * 1024],
n: [32]
});
function main(conf) { function main(conf) {
var N = 64 * 1024 * 1024; const n = +conf.n;
var b = Buffer.allocUnsafe(N); const len = +conf.len;
var s = ''; const b = Buffer.allocUnsafe(len);
var i; let s = '';
let i;
for (i = 0; i < 256; ++i) s += String.fromCharCode(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(); bench.start();
for (i = 0; i < 32; ++i) b.toString('base64'); for (i = 0; i < n; ++i) b.toString('base64');
bench.end(64); bench.end(n);
} }

Loading…
Cancel
Save