From 829063f894ac52fc1bc4b3cbf48c1f0a37c633ab Mon Sep 17 00:00:00 2001 From: Thomas Preud'homme Date: Wed, 4 May 2011 15:27:35 +0200 Subject: [PATCH] Resiliant to empty ${bench}List --- communication_techniques/parsing.sh | 56 +++++++++++++++-------------- 1 file changed, 30 insertions(+), 26 deletions(-) diff --git a/communication_techniques/parsing.sh b/communication_techniques/parsing.sh index 84c0834..db85a80 100755 --- a/communication_techniques/parsing.sh +++ b/communication_techniques/parsing.sh @@ -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