Resiliant to empty ${bench}List

This commit is contained in:
Thomas Preud'homme 2011-05-04 15:27:35 +02:00
parent 023552a4de
commit 829063f894
1 changed files with 30 additions and 26 deletions

View File

@ -413,7 +413,7 @@ create_gnuplot_file ()
main()
{
local logDir -
local logDir benchName -
parse_args "$@"
cd $logDir
@ -426,31 +426,35 @@ main()
*) argTypeProd=1 ;;
esac
for bench in "communication" "barriere" ; do
# Create dat headers
for metrique in $metriqueList ; do
case "$metrique" in
cache_hits)
metriquePattern="[[:digit:]]+ +(L1-dcache-loads|L1-dcache-stores|L1-dcache-prefetches|LLC-loads|LLC-stores|LLC-prefetches) "
ylabel="Nb cache hit" ;;
cache_miss)
metriquePattern="[[:digit:]]+ +(L1-dcache-load-misses|L1-dcache-store-misses|L1-dcache-prefetch-misses|LLC-load-misses|LLC-store-misses|LLC-prefetch-misses) "
ylabel="Nb cache miss" ;;
cycles)
metriquePattern="[[:digit:]]+ +cycles "
ylabel="Nb cycles" ;;
total_time)
metriquePattern="[[:digit:].,]+ +seconds time elapsed "
ylabel="Secondes" ;;
*)
echo "Pas de pattern pour cette métrique : $metrique"
echo "Pas de label pour cette métrique : $metrique"
exit 1 ;;
esac
numCacheConfigs=$(echo "$cacheList" | wc -w)
create_dat_header "$prod" "$bench" "$metrique" "$numCacheConfigs"
create_dat_body "$prod" "$bench" "$metrique" "$argTypeProd" "$metriquePattern"
create_gnuplot_file "$prod" "$bench" "$metrique" "$ylabel" "$numCacheConfigs"
done
eval benchName="\${${bench}List:-}"
if [ -n "${benchName}" ]
then
# Create dat headers
for metrique in $metriqueList ; do
case "$metrique" in
cache_hits)
metriquePattern="[[:digit:]]+ +(L1-dcache-loads|L1-dcache-stores|L1-dcache-prefetches|LLC-loads|LLC-stores|LLC-prefetches) "
ylabel="Nb cache hit" ;;
cache_miss)
metriquePattern="[[:digit:]]+ +(L1-dcache-load-misses|L1-dcache-store-misses|L1-dcache-prefetch-misses|LLC-load-misses|LLC-store-misses|LLC-prefetch-misses) "
ylabel="Nb cache miss" ;;
cycles)
metriquePattern="[[:digit:]]+ +cycles "
ylabel="Nb cycles" ;;
total_time)
metriquePattern="[[:digit:].,]+ +seconds time elapsed "
ylabel="Secondes" ;;
*)
echo "Pas de pattern pour cette métrique : $metrique"
echo "Pas de label pour cette métrique : $metrique"
exit 1 ;;
esac
numCacheConfigs=$(echo "$cacheList" | wc -w)
create_dat_header "$prod" "$bench" "$metrique" "$numCacheConfigs"
create_dat_body "$prod" "$bench" "$metrique" "$argTypeProd" "$metriquePattern"
create_gnuplot_file "$prod" "$bench" "$metrique" "$ylabel" "$numCacheConfigs"
done
fi
done
done