diff options
author | Rich Trott <rtrott@gmail.com> | 2017-09-03 14:58:53 -0700 |
---|---|---|
committer | James M Snell <jasnell@gmail.com> | 2017-09-07 15:47:37 -0700 |
commit | b62343d83ceaec35b6af2d3cd77f5271497744a0 (patch) | |
tree | 2394a92e76acb5b1d602ec2bdd8da66f9148efbb /benchmark | |
parent | 81b2a89ad3284a71e5a622a435adc160d343d455 (diff) | |
download | android-node-v8-b62343d83ceaec35b6af2d3cd77f5271497744a0.tar.gz android-node-v8-b62343d83ceaec35b6af2d3cd77f5271497744a0.tar.bz2 android-node-v8-b62343d83ceaec35b6af2d3cd77f5271497744a0.zip |
benchmark: add default configs to buffer benchmark
Add default values to use for `type` and `method` in `buffer` benchmarks
when the provided configuration value is an empty string. This is
primarily useful for testing, so the test can request a single iteration
without having to worry about providing different valid values for the
different benchmarks.
While making this change, some `var` instances in immediately
surrounding code were changed to `const`. In some cases, `var` had been
preserved so that the benchmarks would continue to run in versions of
Node.js prior to 4.0.0. However, now that `const` has been introduced
into the benchmark `common` module, the benchmarks will no longer run
with those versions of Node.js anyway.
PR-URL: https://github.com/nodejs/node/pull/15175
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com
Diffstat (limited to 'benchmark')
-rw-r--r-- | benchmark/buffers/buffer-creation.js | 1 | ||||
-rw-r--r-- | benchmark/buffers/buffer-iterate.js | 9 | ||||
-rw-r--r-- | benchmark/buffers/buffer-read.js | 13 | ||||
-rw-r--r-- | benchmark/buffers/buffer-swap.js | 2 | ||||
-rw-r--r-- | benchmark/buffers/buffer-write.js | 11 | ||||
-rw-r--r-- | benchmark/buffers/dataview-set.js | 11 |
6 files changed, 26 insertions, 21 deletions
diff --git a/benchmark/buffers/buffer-creation.js b/benchmark/buffers/buffer-creation.js index d1acd2694e..4ca0a04922 100644 --- a/benchmark/buffers/buffer-creation.js +++ b/benchmark/buffers/buffer-creation.js @@ -19,6 +19,7 @@ function main(conf) { const len = +conf.len; const n = +conf.n; switch (conf.type) { + case '': case 'fast-alloc': bench.start(); for (let i = 0; i < n * 1024; i++) { diff --git a/benchmark/buffers/buffer-iterate.js b/benchmark/buffers/buffer-iterate.js index 7c20444222..7b49bcca71 100644 --- a/benchmark/buffers/buffer-iterate.js +++ b/benchmark/buffers/buffer-iterate.js @@ -17,12 +17,13 @@ var methods = { }; function main(conf) { - var len = +conf.size; - var clazz = conf.type === 'fast' ? Buffer : SlowBuffer; - var buffer = new clazz(len); + const len = +conf.size; + const clazz = conf.type === 'fast' ? Buffer : SlowBuffer; + const buffer = new clazz(len); buffer.fill(0); - methods[conf.method](buffer, conf.n); + const method = conf.method || 'for'; + methods[method](buffer, conf.n); } diff --git a/benchmark/buffers/buffer-read.js b/benchmark/buffers/buffer-read.js index 30f3ff05ad..67d86bad4e 100644 --- a/benchmark/buffers/buffer-read.js +++ b/benchmark/buffers/buffer-read.js @@ -26,14 +26,15 @@ var bench = common.createBenchmark(main, { }); function main(conf) { - var noAssert = conf.noAssert === 'true'; - var len = +conf.millions * 1e6; - var clazz = conf.buf === 'fast' ? Buffer : require('buffer').SlowBuffer; - var buff = new clazz(8); - var fn = `read${conf.type}`; + const noAssert = conf.noAssert === 'true'; + const len = +conf.millions * 1e6; + const clazz = conf.buf === 'fast' ? Buffer : require('buffer').SlowBuffer; + const buff = new clazz(8); + const type = conf.type || 'UInt8'; + const fn = `read${type}`; buff.writeDoubleLE(0, 0, noAssert); - var testFunction = new Function('buff', ` + const testFunction = new Function('buff', ` for (var i = 0; i !== ${len}; i++) { buff.${fn}(0, ${JSON.stringify(noAssert)}); } diff --git a/benchmark/buffers/buffer-swap.js b/benchmark/buffers/buffer-swap.js index 9e36985f5c..05cde00294 100644 --- a/benchmark/buffers/buffer-swap.js +++ b/benchmark/buffers/buffer-swap.js @@ -73,7 +73,7 @@ function genMethod(method) { } function main(conf) { - const method = conf.method; + const method = conf.method || 'swap16'; const len = conf.len | 0; const n = conf.n | 0; const aligned = conf.aligned || 'true'; diff --git a/benchmark/buffers/buffer-write.js b/benchmark/buffers/buffer-write.js index 2f1eb08763..8fcfc43f70 100644 --- a/benchmark/buffers/buffer-write.js +++ b/benchmark/buffers/buffer-write.js @@ -46,11 +46,12 @@ var mod = { }; function main(conf) { - var noAssert = conf.noAssert === 'true'; - var len = +conf.millions * 1e6; - var clazz = conf.buf === 'fast' ? Buffer : require('buffer').SlowBuffer; - var buff = new clazz(8); - var fn = `write${conf.type}`; + const noAssert = conf.noAssert === 'true'; + const len = +conf.millions * 1e6; + const clazz = conf.buf === 'fast' ? Buffer : require('buffer').SlowBuffer; + const buff = new clazz(8); + const type = conf.type || 'UInt8'; + const fn = `write${type}`; if (/Int/.test(fn)) benchInt(buff, fn, len, noAssert); diff --git a/benchmark/buffers/dataview-set.js b/benchmark/buffers/dataview-set.js index 16b2628842..f9663e6a03 100644 --- a/benchmark/buffers/dataview-set.js +++ b/benchmark/buffers/dataview-set.js @@ -40,11 +40,12 @@ var mod = { }; function main(conf) { - var len = +conf.millions * 1e6; - var ab = new ArrayBuffer(8); - var dv = new DataView(ab, 0, 8); - var le = /LE$/.test(conf.type); - var fn = `set${conf.type.replace(/[LB]E$/, '')}`; + const len = +conf.millions * 1e6; + const ab = new ArrayBuffer(8); + const dv = new DataView(ab, 0, 8); + const type = conf.type || 'Uint8'; + const le = /LE$/.test(type); + const fn = `set${type.replace(/[LB]E$/, '')}`; if (/int/i.test(fn)) benchInt(dv, fn, len, le); |