X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;ds=sidebyside;f=benchmarks%2Fversus-external-pools%2Fbench.sh;h=7d7e9651469252304dec4145adcb42c858f88bd6;hb=ee4128723bbcf20ba0c2f4db1cad14c262d128c3;hp=7a1bb6c0e261fe4095f2dad1b229ac4742ca9e2e;hpb=37172eb11eeb964f1ecede90eb5711afc130f3f8;p=poolifier.git diff --git a/benchmarks/versus-external-pools/bench.sh b/benchmarks/versus-external-pools/bench.sh index 7a1bb6c0..7d7e9651 100755 --- a/benchmarks/versus-external-pools/bench.sh +++ b/benchmarks/versus-external-pools/bench.sh @@ -1,23 +1,23 @@ #!/usr/bin/env bash -### The -t argument permit to specify the type of task that you want to benchmark. -### Supported values are CPU_INTENSIVE, IO_INTENSIVE -### The -s argument permit to specify the size of task that you want to benchmark. - usage() { - echo "Usage: $0 [-t ] [-s ]" 1>&2 + echo "Usage: $0 [-s -i -t ] [-n ]" 1>&2 exit 1 } -taskType='CPU_INTENSIVE' -taskSize=5000 -while getopts "t:s:h" option +while getopts "s:i:t:n:h" option do case "${option}" in + s) + poolSize=${OPTARG} + ;; + i) + iterations=${OPTARG} + ;; t) taskType=${OPTARG} ;; - s) + n) taskSize=${OPTARG} ;; :) @@ -35,19 +35,23 @@ do esac done -echo 'Running benchmarks for task type:' ${taskType} 'and task size:' ${taskSize} +taskType=${taskType:-'CPU_INTENSIVE'} +taskSize=${taskSize:-5000} +poolSize=${poolSize:-$(nproc --all)} +iterations=${iterations:-100000} + +echo 'Running benchmarks with pool size:' ${poolSize}', number of iterations:' ${iterations}', task type:' ${taskType} 'and task size:' ${taskSize} +export NODE_ENV=production export TASK_TYPE=${taskType} export TASK_SIZE=${taskSize} -# Execute bench -export NODE_ENV=production -export POOL_SIZE=10 -export NUM_ITERATIONS=100000 +export POOL_SIZE=${poolSize} +export NUM_ITERATIONS=${iterations} case "$OSTYPE" in darwin*) caffeinate ./hyperfine_benchmarks.sh ;; linux*) - systemd-inhibit ./hyperfine_benchmarks.sh + systemd-inhibit --what=idle ./hyperfine_benchmarks.sh ;; *) echo "Unsupported $OSTYPE"