Revert "Reland "[test] Add JSTest benchmark for object literal spread""
This reverts commit2ade52e93b
. Reason for revert: still breaks internal bots, e.g. https://uberchromegw.corp.google.com/i/internal.client.v8/builders/v8_nexus7_perf Original change's description: > Reland "[test] Add JSTest benchmark for object literal spread" > > This reverts commitcd1dd34f20
. > > Patchset 1 is the original CL that was reverted. Patchset 2 has the > fix. > > TBR=bmeurer@chromium.org > > Bug: v8:7611 > Change-Id: I15291175ab894ef667c001e1b21b8b220e1f9b48 > Reviewed-on: https://chromium-review.googlesource.com/993995 > Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org> > Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org> > Cr-Commit-Position: refs/heads/master@{#52337} TBR=gsathya@chromium.org,bmeurer@chromium.org Change-Id: Ie7da3a02df16df716293d0104f1f7d16208f1baf No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:7611 Reviewed-on: https://chromium-review.googlesource.com/995294 Reviewed-by: Sergiy Byelozyorov <sergiyb@chromium.org> Commit-Queue: Sergiy Byelozyorov <sergiyb@chromium.org> Cr-Commit-Position: refs/heads/master@{#52347}
This commit is contained in:
parent
f49a1a67f5
commit
99c0410b10
@ -351,21 +351,6 @@
|
||||
{"name": "ValuesMegamorphic"}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "ObjectLiteralSpread",
|
||||
"path": ["ObjectLiteralSpread"],
|
||||
"main": "run.js",
|
||||
"resources": [],
|
||||
"results_regexp": "^%s\\-ObjectLiteralSpread\\(Score\\): (.+)$",
|
||||
"tests": [
|
||||
{"name": "Babel"},
|
||||
{"name": "BabelAndOverwrite"},
|
||||
{"name": "ObjectAssign"},
|
||||
{"name": "ObjectAssignAndOverwrite"},
|
||||
{"name": "ObjectSpread"},
|
||||
{"name": "ObjectSpreadAndOverwrite"}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Scope",
|
||||
"path": ["Scope"],
|
||||
|
@ -1,101 +0,0 @@
|
||||
// Copyright 2018 the V8 project authors. All rights reserved.
|
||||
// Use of this source code is governed by a BSD-style license that can be
|
||||
// found in the LICENSE file.
|
||||
|
||||
const input = {
|
||||
a: 1,
|
||||
b: 2,
|
||||
c: 3,
|
||||
['d']: 4,
|
||||
1: 5
|
||||
};
|
||||
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// Benchmark: Babel
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
function _extends(target) {
|
||||
for (var i = 1; i < arguments.length; i++) {
|
||||
var source = arguments[i];
|
||||
for (var key in source) {
|
||||
if (Object.prototype.hasOwnProperty.call(source, key)) {
|
||||
target[key] = source[key];
|
||||
}
|
||||
}
|
||||
}
|
||||
return target;
|
||||
};
|
||||
|
||||
function Babel() {
|
||||
const result = _extends({}, input);
|
||||
if (Object.keys(result).length != 5) throw 666;
|
||||
}
|
||||
|
||||
function BabelAndOverwrite() {
|
||||
const result = _extends({}, input, {a: 6});
|
||||
if (Object.keys(result).length != 5) throw 666;
|
||||
}
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// Benchmark: Object.assign
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
|
||||
function ObjectAssign() {
|
||||
const result = Object.assign({}, input);
|
||||
if (Object.keys(result).length != 5) throw 666;
|
||||
}
|
||||
|
||||
function ObjectAssignAndOverwrite() {
|
||||
const result = Object.assign({}, input, {a : 6});
|
||||
if (Object.keys(result).length != 5) throw 666;
|
||||
}
|
||||
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// Benchmark: Object.assign
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
|
||||
function ObjectSpread() {
|
||||
const result = { ...input };
|
||||
if (Object.keys(result).length != 5) throw 666;
|
||||
}
|
||||
|
||||
function ObjectSpreadAndOverwrite() {
|
||||
const result = { ...input, a: 6 };
|
||||
if (Object.keys(result).length != 5) throw 666;
|
||||
}
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// Setup and Run
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
load('../base.js');
|
||||
|
||||
var success = true;
|
||||
|
||||
function PrintResult(name, result) {
|
||||
print(name + '-ObjectLiteralSpread(Score): ' + result);
|
||||
}
|
||||
|
||||
function PrintError(name, error) {
|
||||
PrintResult(name, error);
|
||||
success = false;
|
||||
}
|
||||
|
||||
function CreateBenchmark(name, f) {
|
||||
new BenchmarkSuite(name, [100], [ new Benchmark(name, false, false, 0, f) ]);
|
||||
}
|
||||
|
||||
CreateBenchmark('Babel', Babel);
|
||||
CreateBenchmark('BabelAndOverwrite', BabelAndOverwrite);
|
||||
CreateBenchmark('ObjectAssign', ObjectAssign);
|
||||
CreateBenchmark('ObjectAssignAndOverwrite', ObjectAssignAndOverwrite);
|
||||
CreateBenchmark('ObjectSpread', ObjectSpread);
|
||||
CreateBenchmark('ObjectSpreadLiteral', ObjectSpreadAndOverwrite);
|
||||
|
||||
BenchmarkSuite.config.doWarmup = undefined;
|
||||
BenchmarkSuite.config.doDeterministic = undefined;
|
||||
BenchmarkSuite.RunSuites({NotifyResult: PrintResult, NotifyError: PrintError});
|
Loading…
Reference in New Issue
Block a user