mirror of
https://github.com/nodejs/node.git
synced 2024-11-28 06:28:40 +01:00
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>
This commit is contained in:
parent
0bdd39f729
commit
7021e6b52d
@ -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);
|
||||
}
|
||||
|
@ -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);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user