X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;ds=sidebyside;f=benchmarks%2Fbenchmarks-utils.mjs;h=259fca5696b0a32c62c040966196ed78f052d9ca;hb=9bc1ca7575fb508018f641dfee8c9939beda517a;hp=56767597b41ff848012c31d9e1f1a92d6415e8e8;hpb=31a7d5bea6971eff8079efd2a164a66086f6d4b3;p=poolifier.git diff --git a/benchmarks/benchmarks-utils.mjs b/benchmarks/benchmarks-utils.mjs index 56767597..259fca56 100644 --- a/benchmarks/benchmarks-utils.mjs +++ b/benchmarks/benchmarks-utils.mjs @@ -1,12 +1,14 @@ -import crypto from 'crypto' -import fs from 'fs' +import crypto from 'node:crypto' +import fs from 'node:fs' import { DynamicClusterPool, DynamicThreadPool, FixedClusterPool, - FixedThreadPool + FixedThreadPool, + PoolTypes, + WorkerTypes } from '../lib/index.mjs' -import { PoolTypes, WorkerFunctions, WorkerTypes } from './benchmarks-types.mjs' +import { TaskFunctions } from './benchmarks-types.mjs' export const runTest = async (pool, { taskExecutions, workerData }) => { return new Promise((resolve, reject) => { @@ -51,6 +53,7 @@ const jsonIntegerSerialization = n => { } JSON.stringify(o) } + return { ok: 1 } } /** @@ -94,20 +97,21 @@ const readWriteFiles = ( fs.readFileSync(filePath, 'utf8') } fs.rmSync(baseDirectory, { recursive: true }) + return { ok: 1 } } -export const executeWorkerFunction = data => { +export const executeTaskFunction = data => { switch (data.function) { - case WorkerFunctions.jsonIntegerSerialization: + case TaskFunctions.jsonIntegerSerialization: return jsonIntegerSerialization(data.taskSize || 1000) - case WorkerFunctions.fibonacci: + case TaskFunctions.fibonacci: return fibonacci(data.taskSize || 1000) - case WorkerFunctions.factorial: + case TaskFunctions.factorial: return factorial(data.taskSize || 1000) - case WorkerFunctions.readWriteFiles: + case TaskFunctions.readWriteFiles: return readWriteFiles(data.taskSize || 1000) default: - throw new Error('Unknown worker function') + throw new Error('Unknown task function') } } @@ -134,14 +138,14 @@ export const buildPool = (workerType, poolType, poolSize, poolOptions) => { case WorkerTypes.thread: return new DynamicThreadPool( Math.floor(poolSize / 2), - poolSize * 3, + poolSize, './benchmarks/internal/thread-worker.mjs', poolOptions ) case WorkerTypes.cluster: return new DynamicClusterPool( Math.floor(poolSize / 2), - poolSize * 3, + poolSize, './benchmarks/internal/cluster-worker.mjs', poolOptions )