From 74e4c7f80ff1cee534f2da2870d0ddf73f7cb932 Mon Sep 17 00:00:00 2001 From: Rui He <118280419+ruihe774@users.noreply.github.com> Date: Sat, 30 Sep 2023 22:21:06 +0800 Subject: feat(node/os): Add `availableParallelism` (#20745) --- ext/node/polyfills/os.ts | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'ext/node/polyfills/os.ts') diff --git a/ext/node/polyfills/os.ts b/ext/node/polyfills/os.ts index 3245ad7ab..06de4ad44 100644 --- a/ext/node/polyfills/os.ts +++ b/ext/node/polyfills/os.ts @@ -102,6 +102,9 @@ export function arch(): string { return process.arch; } +// deno-lint-ignore no-explicit-any +(availableParallelism as any)[Symbol.toPrimitive] = (): number => + availableParallelism(); // deno-lint-ignore no-explicit-any (arch as any)[Symbol.toPrimitive] = (): string => process.arch; // deno-lint-ignore no-explicit-any @@ -354,10 +357,16 @@ export function userInfo( }; } +/* Returns an estimate of the default amount of parallelism a program should use. */ +export function availableParallelism(): number { + return navigator.hardwareConcurrency; +} + export const EOL = isWindows ? "\r\n" : "\n"; export const devNull = isWindows ? "\\\\.\\nul" : "/dev/null"; export default { + availableParallelism, arch, cpus, endianness, -- cgit v1.2.3