Skip to content

Commit 8a562cf

Browse files
troy0820MylesBorins
authored andcommitted
benchmark: refactor buffer benchmarks
Add configuration object createBenchmark object for buffer size & iteration in buffer-base64-encode & buffer-base64-decode.js. PR-URL: #10175 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Brian White <mscdex@mscdex.net>
1 parent eef36e9 commit 8a562cf

2 files changed

Lines changed: 18 additions & 11 deletions

File tree

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

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,18 @@
22
constassert=require('assert');
33
constcommon=require('../common.js');
44

5-
constbench=common.createBenchmark(main,{});
5+
constbench=common.createBenchmark(main,{
6+
n: [32],
7+
});
68

79
functionmain(conf){
10+
constn=+conf.n;
811
consts='abcd'.repeat(8<<20);
912
s.match(/./);// Flatten string.
1013
assert.strictEqual(s.length%4,0);
1114
constb=Buffer.allocUnsafe(s.length/4*3);
1215
b.write(s,0,s.length,'base64');
1316
bench.start();
14-
for(vari=0;i<32;i+=1)b.base64Write(s,0,s.length);
15-
bench.end(32);
17+
for(vari=0;i<n;i+=1)b.base64Write(s,0,s.length);
18+
bench.end(n);
1619
}
Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,20 @@
11
'use strict';
22
varcommon=require('../common.js');
33

4-
varbench=common.createBenchmark(main,{});
4+
constbench=common.createBenchmark(main,{
5+
len: [64*1024*1024],
6+
n: [32]
7+
});
58

69
functionmain(conf){
7-
varN=64*1024*1024;
8-
varb=Buffer.allocUnsafe(N);
9-
vars='';
10-
vari;
10+
constn=+conf.n;
11+
constlen=+conf.len;
12+
constb=Buffer.allocUnsafe(len);
13+
lets='';
14+
leti;
1115
for(i=0;i<256;++i)s+=String.fromCharCode(i);
12-
for(i=0;i<N;i+=256)b.write(s,i,256,'ascii');
16+
for(i=0;i<len;i+=256)b.write(s,i,256,'ascii');
1317
bench.start();
14-
for(i=0;i<32;++i)b.toString('base64');
15-
bench.end(64);
18+
for(i=0;i<n;++i)b.toString('base64');
19+
bench.end(n);
1620
}

0 commit comments

Comments
 (0)