[Test] Reconfigure SuperSpread benchmarks to run in separate processes.
BUG=v8:5922 Review-Url: https://codereview.chromium.org/2669223002 Cr-Commit-Position: refs/heads/master@{#42929}
This commit is contained in:
parent
c21d1281d9
commit
98ca77a0e1
@ -54,17 +54,24 @@
|
||||
{
|
||||
"name": "SuperSpread",
|
||||
"path": ["SixSpeed/super_spread"],
|
||||
"main": "run.js",
|
||||
"resources": [
|
||||
"run.js",
|
||||
"super_spread.js"
|
||||
],
|
||||
"flags": ["--future"],
|
||||
"results_regexp": "^%s\\(Score\\): (.+)$",
|
||||
"tests": [
|
||||
{"name": "SuperSpread-ES5"},
|
||||
{"name": "SuperSpread-Babel"},
|
||||
{"name": "SuperSpread-ES6"}
|
||||
{
|
||||
"name": "ES5",
|
||||
"main": "run.js",
|
||||
"test_flags": ["es5"]
|
||||
},
|
||||
{
|
||||
"name": "Babel",
|
||||
"main": "run.js",
|
||||
"test_flags": ["babel"]
|
||||
},
|
||||
{
|
||||
"name": "ES6",
|
||||
"main": "run.js",
|
||||
"test_flags": ["es6"]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
|
75
test/js-perf-test/SixSpeed/super_spread/babel.js
Normal file
75
test/js-perf-test/SixSpeed/super_spread/babel.js
Normal file
@ -0,0 +1,75 @@
|
||||
// Copyright 2017 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.
|
||||
|
||||
// This benchmark is based on the six-speed benchmark build output.
|
||||
// Copyright 2014 Kevin Decker <https://github.com/kpdecker/six-speed/>
|
||||
|
||||
new BenchmarkSuite('Babel', [1000], [
|
||||
new Benchmark('Babel', false, false, 0, Babel),
|
||||
]);
|
||||
|
||||
function _possibleConstructorReturn(self, call) {
|
||||
if (!self) {
|
||||
throw new ReferenceError(
|
||||
'this hasn\'t been initialised - super() hasn\'t been called');
|
||||
}
|
||||
return call && (typeof call === 'object' || typeof call === 'function') ?
|
||||
call :
|
||||
self;
|
||||
}
|
||||
|
||||
function _inherits(subClass, superClass) {
|
||||
if (typeof superClass !== 'function' && superClass !== null) {
|
||||
throw new TypeError(
|
||||
'Super expression must either be null or a function, not ' +
|
||||
typeof superClass);
|
||||
}
|
||||
subClass.prototype = Object.create(superClass && superClass.prototype, {
|
||||
constructor: {
|
||||
value: subClass,
|
||||
enumerable: false,
|
||||
writable: true,
|
||||
configurable: true
|
||||
}
|
||||
});
|
||||
if (superClass)
|
||||
Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) :
|
||||
subClass.__proto__ = superClass;
|
||||
}
|
||||
|
||||
function _classCallCheck(instance, Constructor) {
|
||||
if (!(instance instanceof Constructor)) {
|
||||
throw new TypeError('Cannot call a class as a function');
|
||||
}
|
||||
}
|
||||
|
||||
var Point = function Point(x, y) {
|
||||
_classCallCheck(this, Point);
|
||||
|
||||
this.x = x;
|
||||
this.y = y;
|
||||
};
|
||||
|
||||
var MyPoint = function(_Point) {
|
||||
_inherits(MyPoint, _Point);
|
||||
|
||||
function MyPoint() {
|
||||
_classCallCheck(this, MyPoint);
|
||||
|
||||
return _possibleConstructorReturn(
|
||||
this, (MyPoint.__proto__ || Object.getPrototypeOf(MyPoint))
|
||||
.apply(this, arguments));
|
||||
}
|
||||
|
||||
return MyPoint;
|
||||
}(Point);
|
||||
|
||||
function makePoint(x, y) {
|
||||
return new MyPoint(x, y);
|
||||
}
|
||||
|
||||
function Babel() {
|
||||
'use strict';
|
||||
return makePoint(1, 2);
|
||||
}
|
28
test/js-perf-test/SixSpeed/super_spread/es5.js
Normal file
28
test/js-perf-test/SixSpeed/super_spread/es5.js
Normal file
@ -0,0 +1,28 @@
|
||||
// Copyright 2017 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.
|
||||
|
||||
// This benchmark is based on the six-speed benchmark build output.
|
||||
// Copyright 2014 Kevin Decker <https://github.com/kpdecker/six-speed/>
|
||||
|
||||
new BenchmarkSuite('ES5', [1000], [
|
||||
new Benchmark('ES5', false, false, 0, ES5),
|
||||
]);
|
||||
|
||||
function Point(x, y) {
|
||||
this.x = x;
|
||||
this.y = y;
|
||||
}
|
||||
|
||||
function MyPoint() {
|
||||
Point.apply(this, arguments);
|
||||
}
|
||||
|
||||
function makePoint(x, y) {
|
||||
return new MyPoint(x, y);
|
||||
}
|
||||
|
||||
function ES5() {
|
||||
'use strict';
|
||||
return makePoint(1, 2);
|
||||
}
|
28
test/js-perf-test/SixSpeed/super_spread/es6.js
Normal file
28
test/js-perf-test/SixSpeed/super_spread/es6.js
Normal file
@ -0,0 +1,28 @@
|
||||
// Copyright 2017 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.
|
||||
|
||||
// This benchmark is based on the six-speed benchmark build output.
|
||||
// Copyright 2014 Kevin Decker <https://github.com/kpdecker/six-speed/>
|
||||
|
||||
new BenchmarkSuite('ES6', [1000], [
|
||||
new Benchmark('ES6', false, false, 0, ES6),
|
||||
]);
|
||||
|
||||
class Point {
|
||||
constructor(x, y) {
|
||||
this.x = x;
|
||||
this.y = y;
|
||||
}
|
||||
}
|
||||
|
||||
class MyPoint extends Point {}
|
||||
|
||||
function makePoint(x, y) {
|
||||
return new MyPoint(x, y);
|
||||
}
|
||||
|
||||
function ES6() {
|
||||
'use strict';
|
||||
return makePoint(1, 2);
|
||||
}
|
@ -3,7 +3,7 @@
|
||||
// found in the LICENSE file.
|
||||
|
||||
load('../../base.js');
|
||||
load('super_spread.js');
|
||||
load(arguments[0] + '.js');
|
||||
|
||||
var success = true;
|
||||
|
||||
|
@ -1,133 +0,0 @@
|
||||
// Copyright 2017 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.
|
||||
|
||||
// This benchmark is based on the six-speed benchmark build output.
|
||||
// Copyright 2014 Kevin Decker <https://github.com/kpdecker/six-speed/>
|
||||
|
||||
new BenchmarkSuite('SuperSpread-ES5', [1000], [
|
||||
new Benchmark('ES5', false, false, 0, ES5),
|
||||
]);
|
||||
|
||||
new BenchmarkSuite('SuperSpread-Babel', [1000], [
|
||||
new Benchmark('Babel', false, false, 0, Babel),
|
||||
]);
|
||||
|
||||
new BenchmarkSuite('SuperSpread-ES6', [1000], [
|
||||
new Benchmark('ES6', false, false, 0, ES6),
|
||||
]);
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// Benchmark: ES5
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
function ES5() {
|
||||
'use strict';
|
||||
|
||||
function Point(x, y) {
|
||||
this.x = x;
|
||||
this.y = y;
|
||||
}
|
||||
|
||||
function MyPoint() {
|
||||
Point.apply(this, arguments);
|
||||
}
|
||||
|
||||
function makePoint(x, y) {
|
||||
return new MyPoint(x, y);
|
||||
}
|
||||
|
||||
return makePoint(1, 2);
|
||||
}
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// Benchmark: Babel
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
function _possibleConstructorReturn(self, call) {
|
||||
if (!self) {
|
||||
throw new ReferenceError(
|
||||
'this hasn\'t been initialised - super() hasn\'t been called');
|
||||
}
|
||||
return call && (typeof call === 'object' || typeof call === 'function') ?
|
||||
call :
|
||||
self;
|
||||
}
|
||||
|
||||
function _inherits(subClass, superClass) {
|
||||
if (typeof superClass !== 'function' && superClass !== null) {
|
||||
throw new TypeError(
|
||||
'Super expression must either be null or a function, not ' +
|
||||
typeof superClass);
|
||||
}
|
||||
subClass.prototype = Object.create(superClass && superClass.prototype, {
|
||||
constructor: {
|
||||
value: subClass,
|
||||
enumerable: false,
|
||||
writable: true,
|
||||
configurable: true
|
||||
}
|
||||
});
|
||||
if (superClass)
|
||||
Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) :
|
||||
subClass.__proto__ = superClass;
|
||||
}
|
||||
|
||||
function _classCallCheck(instance, Constructor) {
|
||||
if (!(instance instanceof Constructor)) {
|
||||
throw new TypeError('Cannot call a class as a function');
|
||||
}
|
||||
}
|
||||
|
||||
function Babel() {
|
||||
'use strict';
|
||||
var Point = function Point(x, y) {
|
||||
_classCallCheck(this, Point);
|
||||
|
||||
this.x = x;
|
||||
this.y = y;
|
||||
};
|
||||
|
||||
var MyPoint = function(_Point) {
|
||||
_inherits(MyPoint, _Point);
|
||||
|
||||
function MyPoint() {
|
||||
_classCallCheck(this, MyPoint);
|
||||
|
||||
return _possibleConstructorReturn(
|
||||
this, (MyPoint.__proto__ || Object.getPrototypeOf(MyPoint))
|
||||
.apply(this, arguments));
|
||||
}
|
||||
|
||||
return MyPoint;
|
||||
}(Point);
|
||||
|
||||
function makePoint(x, y) {
|
||||
return new MyPoint(x, y);
|
||||
}
|
||||
|
||||
return makePoint(1, 2);
|
||||
}
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// Benchmark: ES6
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
function ES6() {
|
||||
'use strict';
|
||||
|
||||
class Point {
|
||||
constructor(x, y) {
|
||||
this.x = x;
|
||||
this.y = y;
|
||||
}
|
||||
}
|
||||
|
||||
class MyPoint extends Point {}
|
||||
|
||||
function makePoint(x, y) {
|
||||
return new MyPoint(x, y);
|
||||
}
|
||||
|
||||
return makePoint(1, 2);
|
||||
}
|
Loading…
Reference in New Issue
Block a user