bbc17c18da0cdc29f59da0e2652cb8daaea452e7
1 const fs
= require('fs')
5 // eslint-disable-next-line node/no-unpublished-require
6 } = require('../../benchmarks-utils')
9 CPU_INTENSIVE
: 'CPU_INTENSIVE',
10 IO_INTENSIVE
: 'IO_INTENSIVE'
13 module
.exports = function (data
) {
15 data
.taskType
= data
.taskType
|| TaskTypes
.CPU_INTENSIVE
16 data
.taskSize
= data
.taskSize
|| 5000
17 const benchmarksFilePath
= '/tmp/poolifier-benchmarks'
18 switch (data
.taskType
) {
19 case TaskTypes
.CPU_INTENSIVE
:
21 data
.function = data
.function || WorkerFunctions
.jsonIntegerSerialization
22 executeWorkerFunction(data
)
24 case TaskTypes
.IO_INTENSIVE
:
26 for (let i
= 0; i
< data
.taskSize
; i
++) {
27 fs
.writeFileSync(benchmarksFilePath
, i
.toString(), 'utf8')
28 fs
.readFileSync(benchmarksFilePath
, 'utf8')
29 fs
.unlinkSync(benchmarksFilePath
)
33 throw new Error(`Unknown task type: ${data.taskType}`)