-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) => {
}
return null
})
- .catch(err => {
+ .catch((err) => {
console.error(err)
return reject(err)
})
return Math.floor(Math.random() * (max + 1))
}
-const jsonIntegerSerialization = n => {
+const jsonIntegerSerialization = (n) => {
for (let i = 0; i < n; i++) {
const o = {
a: i
* @param {number} n - The number of fibonacci numbers to generate.
* @returns {number} - The nth fibonacci number.
*/
-const fibonacci = n => {
+const fibonacci = (n) => {
if (n <= 1) return n
return fibonacci(n - 1) + fibonacci(n - 2)
}
* @param {number} n - The number to calculate the factorial of.
* @returns {number} - The factorial of n.
*/
-const factorial = n => {
+const factorial = (n) => {
if (n === 0) {
return 1
}
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')
}
}