mirror of https://github.com/lukechilds/node.git
Browse Source
PR-URL: https://github.com/nodejs/node/pull/8680 Reviewed-By: Brian White <mscdex@mscdex.net> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Ilkka Myller <ilkka.myller@nodefield.com>v6
Fangdun Cai (Fundon)
8 years ago
committed by
Ilkka Myller
1 changed files with 49 additions and 0 deletions
@ -0,0 +1,49 @@ |
|||||
|
'use strict'; |
||||
|
|
||||
|
const common = require('../common.js'); |
||||
|
|
||||
|
const bench = common.createBenchmark(main, { |
||||
|
method: ['normal', 'destructureObject'], |
||||
|
millions: [100] |
||||
|
}); |
||||
|
|
||||
|
function runNormal(n) { |
||||
|
var i = 0; |
||||
|
var o = { x: 0, y: 1 }; |
||||
|
bench.start(); |
||||
|
for (; i < n; i++) { |
||||
|
/* eslint-disable no-unused-vars */ |
||||
|
var x = o.x; |
||||
|
var y = o.y; |
||||
|
var r = o.r || 2; |
||||
|
/* eslint-enable no-unused-vars */ |
||||
|
} |
||||
|
bench.end(n / 1e6); |
||||
|
} |
||||
|
|
||||
|
function runDestructured(n) { |
||||
|
var i = 0; |
||||
|
var o = { x: 0, y: 1 }; |
||||
|
bench.start(); |
||||
|
for (; i < n; i++) { |
||||
|
/* eslint-disable no-unused-vars */ |
||||
|
var { x, y, r = 2 } = o; |
||||
|
/* eslint-enable no-unused-vars */ |
||||
|
} |
||||
|
bench.end(n / 1e6); |
||||
|
} |
||||
|
|
||||
|
function main(conf) { |
||||
|
const n = +conf.millions * 1e6; |
||||
|
|
||||
|
switch (conf.method) { |
||||
|
case 'normal': |
||||
|
runNormal(n); |
||||
|
break; |
||||
|
case 'destructureObject': |
||||
|
runDestructured(n); |
||||
|
break; |
||||
|
default: |
||||
|
throw new Error('Unexpected method'); |
||||
|
} |
||||
|
} |
Loading…
Reference in new issue