-// FixedThreadPool
-await runPoolifierPoolBenchmark(
- 'Poolifier FixedThreadPool',
- buildPoolifierPool(WorkerTypes.thread, PoolTypes.fixed, poolSize),
- {
- taskExecutions,
- workerData
- }
-)
-
-// DynamicThreadPool
-await runPoolifierPoolBenchmark(
- 'Poolifier DynamicThreadPool',
- buildPoolifierPool(WorkerTypes.thread, PoolTypes.dynamic, poolSize),
- {
- taskExecutions,
- workerData
- }
-)
-
-// FixedClusterPool
-await runPoolifierPoolBenchmark(
- 'Poolifier FixedClusterPool',
- buildPoolifierPool(WorkerTypes.cluster, PoolTypes.fixed, poolSize),
- {
- taskExecutions,
- workerData
- }
-)
-
-// DynamicClusterPool
-await runPoolifierPoolBenchmark(
- 'Poolifier DynamicClusterPool',
- buildPoolifierPool(WorkerTypes.cluster, PoolTypes.dynamic, poolSize),
- {
- taskExecutions,
- workerData
- }
-)
+switch (
+ parseArgs({
+ args: process.argv,
+ options: {
+ type: {
+ type: 'string',
+ short: 't',
+ },
+ },
+ strict: true,
+ allowPositionals: true,
+ }).values.type
+) {
+ case 'tatami-ng':
+ default:
+ benchmarkReport = convertTatamiNgToBmf(
+ await runPoolifierBenchmarkTatamiNg(
+ 'FixedThreadPool',
+ WorkerTypes.thread,
+ PoolTypes.fixed,
+ poolSize,
+ {
+ taskExecutions,
+ workerData,
+ }
+ )
+ )
+ benchmarkReport = {
+ ...benchmarkReport,
+ ...convertTatamiNgToBmf(
+ await runPoolifierBenchmarkTatamiNg(
+ 'DynamicThreadPool',
+ WorkerTypes.thread,
+ PoolTypes.dynamic,
+ poolSize,
+ {
+ taskExecutions,
+ workerData,
+ }
+ )
+ ),
+ }
+ benchmarkReport = {
+ ...benchmarkReport,
+ ...convertTatamiNgToBmf(
+ await runPoolifierBenchmarkTatamiNg(
+ 'FixedClusterPool',
+ WorkerTypes.cluster,
+ PoolTypes.fixed,
+ poolSize,
+ {
+ taskExecutions,
+ workerData,
+ }
+ )
+ ),
+ }
+ benchmarkReport = {
+ ...benchmarkReport,
+ ...convertTatamiNgToBmf(
+ await runPoolifierBenchmarkTatamiNg(
+ 'DynamicClusterPool',
+ WorkerTypes.cluster,
+ PoolTypes.dynamic,
+ poolSize,
+ {
+ taskExecutions,
+ workerData,
+ }
+ )
+ ),
+ }
+ // eslint-disable-next-line @typescript-eslint/no-unused-expressions
+ env.CI != null &&
+ writeFileSync(benchmarkReportFile, JSON.stringify(benchmarkReport))
+ break
+}