diff -r 000000000000 -r 5c129dd80d4f meter --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/meter Thu Nov 21 14:55:10 2019 +0100 @@ -0,0 +1,59 @@ +#/bin/bash + +trap "" USR2 # USR2 is used to synchronize subprocesses + +home=$(dirname $0) + +save() { + cat >$fn <skok)) && { ((n+=500)); ((skok+=1000)); } + echo n=$n + echo skok=$skok +} + +trap exi 2 +fn=$(basename $0).port +[[ -e $fn ]] || save 11000 $(date +%s) +. $fn +D=$(date +%s)-$TS +((RP0>29999)) || ((D>60)) && { RP0=11000; TS=$(date +%s); save $RP0 $TS; } +declare -a langs +langs=(Asm C C++ Java Python) +declare -A cmds times +cmds=([Asm]="csa" [C]="csc" ["C++"]="cscpp" [Java]="csj" [Python]="csp") + +[[ $RUNS ]] || export RUNS=3 +[[ $DEB ]] || export DEB=0 +[[ $MN ]] || export MN=0 +[[ $RN ]] || export RN=33 # pro python radši ne víc než 50 +[[ $TTL ]] || export TTL=3333 +[[ $SSL ]] || export SSL=0 +echo -e DEB=$DEB\\tMN=$MN\\tRN=$RN\\tTTL=$TTL\\tSSL=$SSL + +n=0; skok=500; port=$RP0 +for j in $(seq $RUNS) + do + for k in "${langs[@]}" + do + export RP0=$((port+n)) + times[$k]=$(/usr/bin/time -o /dev/stdout -f %U $home/${cmds[$k]}) + printf "%-12s%4.2f\n" $k ${times[$k]} + eval $(posun) + done + echo +done +save $((port+n)) $(date +%s)