From 91681fe35f68f42498a6cb90426c5cfbe0274fe5 Mon Sep 17 00:00:00 2001 From: Laurent Mazet Date: Sun, 2 Nov 2025 22:40:07 +0100 Subject: [PATCH] adapt scripts for modes (thread and process) --- addlogdate.sh | 2 +- candles.gp | 2 +- generatecandle.sh | 38 +++++++++++++++++++++++--------------- generatedoc.sh | 7 ++++++- generateplot.sh | 5 +++-- getdate.awk | 3 ++- gettable.awk | 5 +++-- gettable.sh | 12 +++++++----- histogram.gp | 2 +- rawmeasures.gp | 2 +- test.sh | 2 +- 11 files changed, 49 insertions(+), 31 deletions(-) diff --git a/addlogdate.sh b/addlogdate.sh index d53e9d5..2818622 100755 --- a/addlogdate.sh +++ b/addlogdate.sh @@ -5,7 +5,7 @@ base=$(cd $(dirname $0); pwd) echo "

Simulation logs

" echo "" -echo "" +echo "" echo "" diff --git a/candles.gp b/candles.gp index 047b160..bf8428f 100644 --- a/candles.gp +++ b/candles.gp @@ -5,7 +5,7 @@ reset data = 'DATA' -set title "Test TITLE - Dedicated core(s) (CORE)" +set title "Test TITLE - MODE - Dedicated core(s) (CORE)" set xlabel 'load (%)' set ylabel 'latency (µs)' set format y "%.1f" diff --git a/generatecandle.sh b/generatecandle.sh index 5045322..e429bca 100755 --- a/generatecandle.sh +++ b/generatecandle.sh @@ -7,24 +7,32 @@ for csv; do test=$($base/getname.sh "$title") - for dcore in 0 1 2; do + for nmode in 0 1; do - name=$test-${dcore}k - - case "$dcore" in - 0) core="any core";; - 1) core="1 core";; - 2) core="2 cores";; + case "$nmode" in + 0) mode="thread";; + 1) mode="process";; esac - awk -F, '$1 == "'"$title"'" && $2 == '$dcore' { $1=$2=""; print }' $csv | sed 's/ //' | sort -n > $name.tab - if [ -s "$name.tab" ]; then - cat $base/candles.gp | \ - m4 -D CORE="$core" -D DATA="$name.tab" -D TITLE="$title" | \ - gnuplot > $name.pdf - else - rm -f $name.tab - fi + for dcore in 0 1 2; do + + name=$test-${dcore}k-m${nmode} + + case "$dcore" in + 0) core="any core";; + 1) core="1 core";; + 2) core="2 cores";; + esac + + awk -F, '$1 == "'"$title"'" && $2 == '$dcore' { $1=$2=""; print }' $csv | sed 's/ //' | sort -n > $name.tab + if [ -s "$name.tab" ]; then + cat $base/candles.gp | \ + m4 -D CORE="$core" -D DATA="$name.tab" -D MODE="$mode" -D TITLE="$title" | \ + gnuplot > $name.pdf + else + rm -f $name.tab + fi + done done done done diff --git a/generatedoc.sh b/generatedoc.sh index bb6e0f7..e8a051f 100755 --- a/generatedoc.sh +++ b/generatedoc.sh @@ -10,6 +10,7 @@ for tab; do test=$(echo $tab | awk -F'[.-]' '{ print $1 }') dcore=$(echo $tab | awk -F'[.-]' '{ print $2 }' | sed 's/k//') + nmode=$(echo $tab | awk -F'[.-]' '{ print $3 }' | sed 's/m//') title=$($base/getname.sh -r $test) case $dcore in @@ -17,8 +18,12 @@ for tab; do 1) core="1 dedicated core";; 2) core="2 dedicated cores";; esac + case "$nmode" in + 0) mode="thread";; + 1) mode="process";; + esac - echo "

$title - $core

" + echo "

$title - $mode - $core

" echo "

Statistic summary

" diff --git a/generateplot.sh b/generateplot.sh index cc3f4bf..e9edacc 100755 --- a/generateplot.sh +++ b/generateplot.sh @@ -8,14 +8,15 @@ for data; do title=$(awk '/Test:/ { sub(/[^:]*: /, ""); print}' $log) core=$(awk -F: '/Dedicated core/ { print ($2 == 0) ? "any core" : $2 " core" ($2 > 1 ? "s" : "") }' $log) load=$(awk '/CPU load/ { print $3 }' $log) + mode=$(awk '$2 == "mode" { print $1 }' $log) output=$(echo $data | sed 's/\.dat/-raw.pdf/') cat $base/rawmeasures.gp | \ - m4 -D CORE="$core" -D DATA="$data" -D LOAD="$load" -D TITLE="$title" | \ + m4 -D CORE="$core" -D DATA="$data" -D LOAD="$load" -D MODE="$mode" -D TITLE="$title" | \ gnuplot > $output output=$(echo $data | sed 's/\.dat/-hist.pdf/') cat $base/histogram.gp | \ - m4 -D CORE="$core" -D DATA="$data" -D LOAD="$load" -D TITLE="$title" | \ + m4 -D CORE="$core" -D DATA="$data" -D LOAD="$load" -D MODE="$mode" -D TITLE="$title" | \ gnuplot > $output done diff --git a/getdate.awk b/getdate.awk index 00404c0..f6606d3 100755 --- a/getdate.awk +++ b/getdate.awk @@ -28,6 +28,7 @@ BEGIN { { sub (/us$/, "") } +$2 == "mode" { mode=$1 } /Dedicated/ { dcore=$3 } /CPU load/ { load=$3 } @@ -36,7 +37,7 @@ BEGIN { if (start == "") { start = time } else { - print test, dcore, load, eval(time "-" start) + print test, mode, dcore, load, eval(time "-" start) start = "" } } diff --git a/gettable.awk b/gettable.awk index 9f4c99c..48bdef9 100755 --- a/gettable.awk +++ b/gettable.awk @@ -3,7 +3,7 @@ BEGIN { OFS="," if (!nohead) { - print "Test", "Dedicated core(s)", "Load (%)", "Minimum (µs)", "Average (µs)", "Maximum (µs)", "Standard Dev. (µs)", "25th % (µs)", "Median (µs)", "75th % (µs)", "99th % (µs)" + print "Test", "Mode", "Dedicated core(s)", "Load (%)", "Minimum (µs)", "Average (µs)", "Maximum (µs)", "Standard Dev. (µs)", "25th % (µs)", "Median (µs)", "75th % (µs)", "99th % (µs)" } } @@ -14,6 +14,7 @@ BEGIN { { sub (/us$/, "") } +$2 == "mode" { mode=$1 } /Dedicated/ { dcore=$3 } /CPU load/ { load=$3 } /Minimum/ { min=$3 } @@ -27,5 +28,5 @@ BEGIN { /99th/ { p99=$4 } /Histogram/ { - print test, dcore, load, min, avg, max, std, p25, med, p75, p99 + print test, mode, dcore, load, min, avg, max, std, p25, med, p75, p99 } diff --git a/gettable.sh b/gettable.sh index 381c076..3104964 100755 --- a/gettable.sh +++ b/gettable.sh @@ -7,11 +7,13 @@ awk '/nohead/ {getline; sub(/print/, ""); gsub (/ *"/, ""); print}' $base/gettab nbcpu=$(grep -c processor /proc/cpuinfo) for exe in *.exe; do test=$(echo $exe | sed 's/\.exe//'); - for core in $(seq 0 2); do - for cpu in $(seq 0 $nbcpu); do - load=$(expr $cpu \* 100 / $nbcpu) - name=${test}-${core}k-${load}% - [ -f "$name.log" ] && awk -f $base/gettable.awk -v nohead=1 $name.log + for mode in 0 1; do + for core in $(seq 0 2); do + for cpu in $(seq 0 $nbcpu); do + load=$(expr $cpu \* 100 / $nbcpu) + name=${test}-${core}k-${load}%-m${mode} + [ -f "$name.log" ] && [ grep -q OK "$name.log" ] && awk -f $base/gettable.awk -v nohead=1 $name.log + done done done done diff --git a/histogram.gp b/histogram.gp index 60b92b6..53dd85b 100644 --- a/histogram.gp +++ b/histogram.gp @@ -7,7 +7,7 @@ stats data nooutput nb = STATS_records f(x) = x / 1000. -set title "Test TITLE - Load LOAD - Dedicated core(s) (CORE)" +set title "Test TITLE - MODE - Load LOAD - Dedicated core(s) (CORE)" set xlabel 'latency (µs)' set ylabel '# of tests (%)' set format x "%.1f" diff --git a/rawmeasures.gp b/rawmeasures.gp index cc2c840..ef929fd 100644 --- a/rawmeasures.gp +++ b/rawmeasures.gp @@ -8,7 +8,7 @@ data = 'DATA' stats data nooutput threshold = ceil ((STATS_mean + 3 * STATS_stddev) / 1000) * 1000 -set title "Test TITLE - Load LOAD - Dedicated core(s) (CORE)" +set title "Test TITLE - MODE - Load LOAD - Dedicated core(s) (CORE)" set xlabel '# of test' set ylabel 'latency (µs)' set format y "%.1f" diff --git a/test.sh b/test.sh index 1acffe9..5053b41 100755 --- a/test.sh +++ b/test.sh @@ -11,7 +11,7 @@ run() { load=$(expr $lcpu \* 100 / $nbcpu) for exe in *.exe; do test=$(echo $exe | sed 's/\.exe//') - name=$test-${dcore}k-${load}% + name=$test-${dcore}k-${load}%-m${mode} echo -e "\033[0;1mTest $test\033[0;0m" date | tee $name.log ./getinfo.sh | tee -a $name.log -- 2.30.2
TestDedicated
core(s)
Load
(%)
Duration
(s)
TestModeDedicated
core(s)
Load
(%)
Duration
(s)