Merge pull request #1129 from poolifier/chore/use-biome
[poolifier.git] / benchmarks / benchmarks-utils.mjs
index 225143f1a1b4d1d483342ad19903e0f4affaec07..259fca5696b0a32c62c040966196ed78f052d9ca 100644 (file)
@@ -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')
   }
 }
 
@@ -133,15 +137,15 @@ export const buildPool = (workerType, poolType, poolSize, poolOptions) => {
       switch (workerType) {
         case WorkerTypes.thread:
           return new DynamicThreadPool(
-            poolSize / 2,
-            poolSize * 3,
+            Math.floor(poolSize / 2),
+            poolSize,
             './benchmarks/internal/thread-worker.mjs',
             poolOptions
           )
         case WorkerTypes.cluster:
           return new DynamicClusterPool(
-            poolSize / 2,
-            poolSize * 3,
+            Math.floor(poolSize / 2),
+            poolSize,
             './benchmarks/internal/cluster-worker.mjs',
             poolOptions
           )