Add threadwork, microjob to external pools benchmark (#266)
[poolifier.git] / benchmarks / versus-external-pools / bench.sh
index 05c156c92b27d774f56e742b19e1df7fe81e916e..d3f512165ad73561f5211d4e1245c403e9b2d6d6 100755 (executable)
@@ -1,37 +1,30 @@
-export NODE_ENV=production
-
-# Execute bench
-# export POOL_SIZE=8
-# export NUM_ITERATIONS=10000
-# hyperfine --export-markdown BENCH-10000.MD --min-runs 10 \
-#   'node dynamic-poolifier.js' \
-#   'node dynamic-suchmokuo-node-worker-threads-pool.js' \
-#   'node fixed-poolifier.js' \
-#   'node static-suchmokuo-node-worker-threads-pool.js' \
-#   'node piscina.js'
+### The -t argument is needed to specify the type of task that you want to benchmark.
+### Supported values are CPU_INTENSIVE
 
-# echo "Sleeping...."
-# sleep 60
+taskType='CPU_INTENSIVE'
+while getopts t: flag
+do
+    case "${flag}" in
+        t) taskType=${OPTARG};;
+    esac
+done
 
+echo 'Running bench for task type:' $taskType
+export TASK_TYPE=$taskType
+# Execute bench
+export NODE_ENV=production
 export POOL_SIZE=10
 export NUM_ITERATIONS=100000
-hyperfine --export-markdown BENCH-100000.MD --min-runs 10 \
-  'node static-suchmokuo-node-worker-threads-pool.js' \
+hyperfine --export-markdown BENCH-100000.md --min-runs 10 \
+  --prepare 'sleep 15' \
+  'node dynamic-piscina.js' \
+  'node fixed-piscina.js' \
   'node dynamic-poolifier.js' \
-  'node piscina.js'
-
-# export POOL_SIZE=8
-# export NUM_ITERATIONS=50000
-# hyperfine --export-markdown BENCH-50000.MD --min-runs 10 \
-#   'node dynamic-poolifier.js' \
-#   'node dynamic-suchmokuo-node-worker-threads-pool.js' \
-#   'node fixed-poolifier.js' \
-#   'node static-suchmokuo-node-worker-threads-pool.js' \
-#   'node piscina.js'
-
-# export NUM_ITERATIONS=100000
-#   hyperfine --export-markdown BENCH-50000.MD --min-runs 20 \
-#     'node dynamic-poolifier.js' \
-#     'node static-suchmokuo-node-worker-threads-pool.js' \
-#     'node piscina.js'
-
+  'node fixed-poolifier.js' \
+  'node dynamic-suchmokuo-node-worker-threads-pool.js' \
+  'node static-suchmokuo-node-worker-threads-pool.js' \
+  'node threadjs.js' \
+  'node dynamic-workerpool.js' \
+  'node fixed-workerpool.js' \
+  'node fixed-threadwork.js' \
+  'node fixed-microjob.js'