From d5fdc57b2cec32c794ded94c86b93fcfb2308d21 Mon Sep 17 00:00:00 2001 From: =?utf8?q?J=C3=A9r=C3=B4me=20Benoit?= Date: Sun, 23 Jul 2023 00:44:09 +0200 Subject: [PATCH] build: improve maxWorkers computation MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Signed-off-by: Jérôme Benoit --- benchmarks/benchmarks-utils.mjs | 4 ++-- rollup.config.mjs | 17 +++++++++++++++-- 2 files changed, 17 insertions(+), 4 deletions(-) diff --git a/benchmarks/benchmarks-utils.mjs b/benchmarks/benchmarks-utils.mjs index c88ada12..8819c592 100644 --- a/benchmarks/benchmarks-utils.mjs +++ b/benchmarks/benchmarks-utils.mjs @@ -1,5 +1,5 @@ -import crypto from 'crypto' -import fs from 'fs' +import crypto from 'node:crypto' +import fs from 'node:fs' import { DynamicClusterPool, DynamicThreadPool, diff --git a/rollup.config.mjs b/rollup.config.mjs index 28b89d86..e40f170d 100644 --- a/rollup.config.mjs +++ b/rollup.config.mjs @@ -1,15 +1,28 @@ -import { cpus } from 'node:os' +import * as os from 'node:os' import terser from '@rollup/plugin-terser' import typescript from '@rollup/plugin-typescript' import analyze from 'rollup-plugin-analyzer' import command from 'rollup-plugin-command' import del from 'rollup-plugin-delete' +const availableParallelism = () => { + let availableParallelism = 1 + try { + availableParallelism = os.availableParallelism() + } catch { + const numberOfCpus = os.cpus() + if (Array.isArray(numberOfCpus) && numberOfCpus.length > 0) { + availableParallelism = numberOfCpus.length + } + } + return availableParallelism +} + const isDevelopmentBuild = process.env.BUILD === 'development' const isAnalyzeBuild = process.env.ANALYZE const isDocumentationBuild = process.env.DOCUMENTATION -const maxWorkers = Math.floor(cpus().length / 2) +const maxWorkers = Math.floor(availableParallelism() / 2) export default { input: 'src/index.ts', -- 2.34.1