1
0
mirror of https://github.com/spacebarchat/server.git synced 2024-11-14 06:32:36 +01:00
server/util/patches/test-performance+1.1.3.patch
2021-08-26 00:22:11 +02:00

382 lines
12 KiB
Diff

diff --git a/node_modules/test-performance/cjs/index.js b/node_modules/test-performance/cjs/index.js
index 65d5904..04638a1 100644
--- a/node_modules/test-performance/cjs/index.js
+++ b/node_modules/test-performance/cjs/index.js
@@ -1,4 +1,4 @@
-'use strict';
+"use strict";
/*! *****************************************************************************
Copyright (c) Microsoft Corporation.
@@ -15,50 +15,139 @@ OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
PERFORMANCE OF THIS SOFTWARE.
***************************************************************************** */
+const { performance } = require("perf_hooks");
+
function __awaiter(thisArg, _arguments, P, generator) {
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
- return new (P || (P = Promise))(function (resolve, reject) {
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
- step((generator = generator.apply(thisArg, _arguments || [])).next());
- });
+ function adopt(value) {
+ return value instanceof P
+ ? value
+ : new P(function (resolve) {
+ resolve(value);
+ });
+ }
+ return new (P || (P = Promise))(function (resolve, reject) {
+ function fulfilled(value) {
+ try {
+ step(generator.next(value));
+ } catch (e) {
+ reject(e);
+ }
+ }
+ function rejected(value) {
+ try {
+ step(generator["throw"](value));
+ } catch (e) {
+ reject(e);
+ }
+ }
+ function step(result) {
+ result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
+ }
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
+ });
}
function __generator(thisArg, body) {
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
- function verb(n) { return function (v) { return step([n, v]); }; }
- function step(op) {
- if (f) throw new TypeError("Generator is already executing.");
- while (_) try {
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
- if (y = 0, t) op = [op[0] & 2, t.value];
- switch (op[0]) {
- case 0: case 1: t = op; break;
- case 4: _.label++; return { value: op[1], done: false };
- case 5: _.label++; y = op[1]; op = [0]; continue;
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
- default:
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
- if (t[2]) _.ops.pop();
- _.trys.pop(); continue;
- }
- op = body.call(thisArg, _);
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
- }
+ var _ = {
+ label: 0,
+ sent: function () {
+ if (t[0] & 1) throw t[1];
+ return t[1];
+ },
+ trys: [],
+ ops: [],
+ },
+ f,
+ y,
+ t,
+ g;
+ return (
+ (g = { next: verb(0), throw: verb(1), return: verb(2) }),
+ typeof Symbol === "function" &&
+ (g[Symbol.iterator] = function () {
+ return this;
+ }),
+ g
+ );
+ function verb(n) {
+ return function (v) {
+ return step([n, v]);
+ };
+ }
+ function step(op) {
+ if (f) throw new TypeError("Generator is already executing.");
+ while (_)
+ try {
+ if (
+ ((f = 1),
+ y &&
+ (t =
+ op[0] & 2
+ ? y["return"]
+ : op[0]
+ ? y["throw"] || ((t = y["return"]) && t.call(y), 0)
+ : y.next) &&
+ !(t = t.call(y, op[1])).done)
+ )
+ return t;
+ if (((y = 0), t)) op = [op[0] & 2, t.value];
+ switch (op[0]) {
+ case 0:
+ case 1:
+ t = op;
+ break;
+ case 4:
+ _.label++;
+ return { value: op[1], done: false };
+ case 5:
+ _.label++;
+ y = op[1];
+ op = [0];
+ continue;
+ case 7:
+ op = _.ops.pop();
+ _.trys.pop();
+ continue;
+ default:
+ if (!((t = _.trys), (t = t.length > 0 && t[t.length - 1])) && (op[0] === 6 || op[0] === 2)) {
+ _ = 0;
+ continue;
+ }
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) {
+ _.label = op[1];
+ break;
+ }
+ if (op[0] === 6 && _.label < t[1]) {
+ _.label = t[1];
+ t = op;
+ break;
+ }
+ if (t && _.label < t[2]) {
+ _.label = t[2];
+ _.ops.push(op);
+ break;
+ }
+ if (t[2]) _.ops.pop();
+ _.trys.pop();
+ continue;
+ }
+ op = body.call(thisArg, _);
+ } catch (e) {
+ op = [6, e];
+ y = 0;
+ } finally {
+ f = t = 0;
+ }
+ if (op[0] & 5) throw op[1];
+ return { value: op[0] ? op[1] : void 0, done: true };
+ }
}
var baselineFunctions = {
- standard: {
- expectedMsRunTime: 12,
- func: function (dummyParam) {
- },
- },
+ standard: {
+ expectedMsRunTime: 12,
+ func: function (dummyParam) {},
+ },
};
/**
@@ -66,28 +155,28 @@ var baselineFunctions = {
* to a baseline.
*/
function calculateExpectedPerformance(baselineExpected, baselineActual, target) {
- var performanceRatio = baselineActual / baselineExpected;
- return target / performanceRatio;
+ var performanceRatio = baselineActual / baselineExpected;
+ return target / performanceRatio;
}
/**
* This runs a single performance test of a function
*/
function perfTest(func) {
- return __awaiter(this, void 0, void 0, function () {
- var start, end;
- return __generator(this, function (_a) {
- switch (_a.label) {
- case 0:
- start = performance.now();
- return [4 /*yield*/, func()];
- case 1:
- _a.sent();
- end = performance.now();
- return [2 /*return*/, end - start];
- }
- });
- });
+ return __awaiter(this, void 0, void 0, function () {
+ var start, end;
+ return __generator(this, function (_a) {
+ switch (_a.label) {
+ case 0:
+ start = performance.now();
+ return [4 /*yield*/, func()];
+ case 1:
+ _a.sent();
+ end = performance.now();
+ return [2 /*return*/, end - start];
+ }
+ });
+ });
}
var NUMBER_OF_TESTS = 10000;
@@ -96,22 +185,31 @@ var NUMBER_OF_TESTS = 10000;
* the average in milliseconds.
*/
function getScore(func) {
- return __awaiter(this, void 0, void 0, function () {
- var tests, results;
- var _this = this;
- return __generator(this, function (_a) {
- switch (_a.label) {
- case 0:
- tests = new Array(NUMBER_OF_TESTS).fill(undefined).map(function () { return __awaiter(_this, void 0, void 0, function () { return __generator(this, function (_a) {
- return [2 /*return*/, perfTest(func)];
- }); }); });
- return [4 /*yield*/, Promise.all(tests)];
- case 1:
- results = _a.sent();
- return [2 /*return*/, results.reduce(function (acc, val) { return acc + val; }, 0) / NUMBER_OF_TESTS];
- }
- });
- });
+ return __awaiter(this, void 0, void 0, function () {
+ var tests, results;
+ var _this = this;
+ return __generator(this, function (_a) {
+ switch (_a.label) {
+ case 0:
+ tests = new Array(NUMBER_OF_TESTS).fill(undefined).map(function () {
+ return __awaiter(_this, void 0, void 0, function () {
+ return __generator(this, function (_a) {
+ return [2 /*return*/, perfTest(func)];
+ });
+ });
+ });
+ return [4 /*yield*/, Promise.all(tests)];
+ case 1:
+ results = _a.sent();
+ return [
+ 2 /*return*/,
+ results.reduce(function (acc, val) {
+ return acc + val;
+ }, 0) / NUMBER_OF_TESTS,
+ ];
+ }
+ });
+ });
}
/**
@@ -119,31 +217,38 @@ function getScore(func) {
* known baseline function.
*/
function runTests(baselineFunc, targetFunc) {
- return __awaiter(this, void 0, void 0, function () {
- var initialBaselineScore, initialTargetScore, midwayBaselineScore, endTargetScore, endBaselineScore, totalBaselineScore, totalTargetScore;
- return __generator(this, function (_a) {
- switch (_a.label) {
- case 0: return [4 /*yield*/, getScore(baselineFunc)];
- case 1:
- initialBaselineScore = _a.sent();
- return [4 /*yield*/, getScore(targetFunc)];
- case 2:
- initialTargetScore = _a.sent();
- return [4 /*yield*/, getScore(baselineFunc)];
- case 3:
- midwayBaselineScore = _a.sent();
- return [4 /*yield*/, getScore(targetFunc)];
- case 4:
- endTargetScore = _a.sent();
- return [4 /*yield*/, getScore(baselineFunc)];
- case 5:
- endBaselineScore = _a.sent();
- totalBaselineScore = (initialBaselineScore + midwayBaselineScore + endBaselineScore) / 3;
- totalTargetScore = (initialTargetScore + endTargetScore) / 2;
- return [2 /*return*/, [totalBaselineScore, totalTargetScore]];
- }
- });
- });
+ return __awaiter(this, void 0, void 0, function () {
+ var initialBaselineScore,
+ initialTargetScore,
+ midwayBaselineScore,
+ endTargetScore,
+ endBaselineScore,
+ totalBaselineScore,
+ totalTargetScore;
+ return __generator(this, function (_a) {
+ switch (_a.label) {
+ case 0:
+ return [4 /*yield*/, getScore(baselineFunc)];
+ case 1:
+ initialBaselineScore = _a.sent();
+ return [4 /*yield*/, getScore(targetFunc)];
+ case 2:
+ initialTargetScore = _a.sent();
+ return [4 /*yield*/, getScore(baselineFunc)];
+ case 3:
+ midwayBaselineScore = _a.sent();
+ return [4 /*yield*/, getScore(targetFunc)];
+ case 4:
+ endTargetScore = _a.sent();
+ return [4 /*yield*/, getScore(baselineFunc)];
+ case 5:
+ endBaselineScore = _a.sent();
+ totalBaselineScore = (initialBaselineScore + midwayBaselineScore + endBaselineScore) / 3;
+ totalTargetScore = (initialTargetScore + endTargetScore) / 2;
+ return [2 /*return*/, [totalBaselineScore, totalTargetScore]];
+ }
+ });
+ });
}
/**
@@ -152,20 +257,22 @@ function runTests(baselineFunc, targetFunc) {
*/
var BASELINE_FUNCTION = baselineFunctions.standard;
function getPerformanceScore(func) {
- return __awaiter(this, void 0, void 0, function () {
- var _a, baseline, target;
- return __generator(this, function (_b) {
- switch (_b.label) {
- case 0:
- if (typeof func !== 'function')
- throw new Error(func + " is not a function");
- return [4 /*yield*/, runTests(BASELINE_FUNCTION.func, func)];
- case 1:
- _a = _b.sent(), baseline = _a[0], target = _a[1];
- return [2 /*return*/, calculateExpectedPerformance(BASELINE_FUNCTION.expectedMsRunTime, baseline, target)];
- }
- });
- });
+ return __awaiter(this, void 0, void 0, function () {
+ var _a, baseline, target;
+ return __generator(this, function (_b) {
+ switch (_b.label) {
+ case 0:
+ if (typeof func !== "function") throw new Error(func + " is not a function");
+ return [4 /*yield*/, runTests(BASELINE_FUNCTION.func, func)];
+ case 1:
+ (_a = _b.sent()), (baseline = _a[0]), (target = _a[1]);
+ return [
+ 2 /*return*/,
+ calculateExpectedPerformance(BASELINE_FUNCTION.expectedMsRunTime, baseline, target),
+ ];
+ }
+ });
+ });
}
module.exports = getPerformanceScore;