diff options
author | Florian Dold <florian.dold@gmail.com> | 2019-04-03 15:43:32 +0200 |
---|---|---|
committer | Florian Dold <florian.dold@gmail.com> | 2019-04-03 15:45:57 +0200 |
commit | 71e285b94c7edaa43aa8115965cf5a36b8e0f80a (patch) | |
tree | 7d4aa9d0d5aff686b106cd5da72ba77960c4af43 /deps/node/benchmark/es/destructuring-object-bench.js | |
parent | 7dadf9356b4f3f4137ce982ea5bb960283116e9a (diff) | |
download | akono-71e285b94c7edaa43aa8115965cf5a36b8e0f80a.tar.gz akono-71e285b94c7edaa43aa8115965cf5a36b8e0f80a.tar.bz2 akono-71e285b94c7edaa43aa8115965cf5a36b8e0f80a.zip |
Node.js v11.13.0
Diffstat (limited to 'deps/node/benchmark/es/destructuring-object-bench.js')
-rw-r--r-- | deps/node/benchmark/es/destructuring-object-bench.js | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/deps/node/benchmark/es/destructuring-object-bench.js b/deps/node/benchmark/es/destructuring-object-bench.js new file mode 100644 index 00000000..0c5615fd --- /dev/null +++ b/deps/node/benchmark/es/destructuring-object-bench.js @@ -0,0 +1,49 @@ +'use strict'; + +const common = require('../common.js'); + +const bench = common.createBenchmark(main, { + method: ['normal', 'destructureObject'], + n: [1e8] +}); + +function runNormal(n) { + var i = 0; + const o = { x: 0, y: 1 }; + bench.start(); + for (; i < n; i++) { + /* eslint-disable no-unused-vars */ + const x = o.x; + const y = o.y; + const r = o.r || 2; + /* eslint-enable no-unused-vars */ + } + bench.end(n); +} + +function runDestructured(n) { + var i = 0; + const o = { x: 0, y: 1 }; + bench.start(); + for (; i < n; i++) { + /* eslint-disable no-unused-vars */ + const { x, y, r = 2 } = o; + /* eslint-enable no-unused-vars */ + } + bench.end(n); +} + +function main({ n, method }) { + switch (method) { + case '': + // Empty string falls through to next line as default, mostly for tests. + case 'normal': + runNormal(n); + break; + case 'destructureObject': + runDestructured(n); + break; + default: + throw new Error(`Unexpected method "${method}"`); + } +} |