UNPKG

assertthat

Version:
49 lines (48 loc) 2.23 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); /* eslint-disable no-console */ const benchmarks_1 = require("./benchmarks"); const calculateLinearRegressionDeviations_1 = require("./util/calculateLinearRegressionDeviations"); const formatResults_1 = require("./util/formatResults"); const fs_1 = __importDefault(require("fs")); const path_1 = __importDefault(require("path")); const runAveragedBenchmark_1 = require("./util/runAveragedBenchmark"); // eslint-disable-next-line @typescript-eslint/no-floating-promises (async () => { console.log('Running benchmarks.'); let benchmarkOutput = 'Benchmarks Results\n\n'; try { for (const benchmark of benchmarks_1.benchmarks) { console.log(`Running benchmark '${benchmark.name}'`); benchmarkOutput += `Benchmark ${benchmark.name}:\n`; const results = []; for (const scale of benchmark.scales) { console.log(` Scale ${scale}`); const { averageTime, deviation } = await (0, runAveragedBenchmark_1.runAveragedBenchmark)({ benchmark, scale, howManyTimes: 20 }); results.push({ scale, unit: benchmark.unit, time: averageTime, deviation }); } const resultsWithDeviations = (0, calculateLinearRegressionDeviations_1.calculateLinearRegressionDeviations)({ benchmarkResults: results }); const formattedResults = (0, formatResults_1.formatResults)({ results: resultsWithDeviations, precision: 2 }); console.log(formattedResults); benchmarkOutput += formattedResults; benchmarkOutput += '\n'; } } catch (ex) { console.log('An exception occured during benchmarks.', { ex }); } await fs_1.default.promises.writeFile(path_1.default.join(__dirname, '..', 'benchmark_output.txt'), benchmarkOutput, 'utf-8'); })(); /* eslint-enable no-console */