+function buildPool (workerType, poolType, poolSize, poolOptions) {
+ switch (poolType) {
+ case PoolTypes.FIXED:
+ switch (workerType) {
+ case WorkerTypes.THREAD:
+ return new FixedThreadPool(
+ poolSize,
+ './benchmarks/internal/thread-worker.js',
+ poolOptions
+ )
+ case WorkerTypes.CLUSTER:
+ return new FixedClusterPool(
+ poolSize,
+ './benchmarks/internal/cluster-worker.js',
+ poolOptions
+ )
+ }
+ break
+ case PoolTypes.DYNAMIC:
+ switch (workerType) {
+ case WorkerTypes.THREAD:
+ return new DynamicThreadPool(
+ poolSize / 2,
+ poolSize * 3,
+ './benchmarks/internal/thread-worker.js',
+ poolOptions
+ )
+ case WorkerTypes.CLUSTER:
+ return new DynamicClusterPool(
+ poolSize / 2,
+ poolSize * 3,
+ './benchmarks/internal/cluster-worker.js',
+ poolOptions
+ )
+ }
+ break
+ }
+}
+