1 import { add, complete, cycle, save, suite } from 'benny'
3 WorkerChoiceStrategies,
5 } from '../../lib/index.mjs'
10 } from '../benchmarks-types.mjs'
11 import { buildPool, runTest } from '../benchmarks-utils.mjs'
13 const poolSize = availableParallelism()
15 for (const poolType of Object.values(PoolTypes)) {
16 for (const workerType of Object.values(WorkerTypes)) {
17 if (workerType === WorkerTypes.cluster) {
20 for (const workerChoiceStrategy of Object.values(WorkerChoiceStrategies)) {
21 for (const tasksQueue of [false, true]) {
22 const pool = buildPool(
31 ...{ enableTasksQueue: true }
38 `${poolType}|${workerType}|${workerChoiceStrategy}|tasks queue:${tasksQueue}`,
46 const taskExecutions = 1
48 function: WorkerFunctions.jsonIntegerSerialization,
51 const addPools = pools =>
52 pools.map(([name, pool]) => {
53 return add(name, async () => {
61 const resultsFile = 'poolifier'
62 const resultsFolder = 'benchmarks/internal/results'
70 folder: resultsFolder,
76 folder: resultsFolder,
82 folder: resultsFolder,
88 // eslint-disable-next-line n/no-process-exit
91 .catch(err => console.error(err))