Advertisement
tari

Untitled

Apr 20th, 2011
144
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 1.44 KB | None | 0 0
  1. == gen_params.sh ==
  2. #!/bin/bash
  3.  
  4. # Vary size
  5. for i in {10..20}   # 1k -> 1M
  6. do
  7.     SIZE=$(echo "2 ^ $i" | bc)
  8.     sed "3 s/[0-9][0-9]*/$SIZE/" paramfile > params/params.size.$(printf "%07d" $SIZE)
  9. done
  10.  
  11. # Vary block size
  12. for i in {2..6}     # 4 -> 64
  13. do
  14.     BS=$(echo "2 ^ $i" | bc)
  15.     sed "1 s/[0-9][0-9]*/$BS/" paramfile > params/params.bs.$(printf "%02d" $BS)
  16. done
  17.  
  18. == run_sim.sh ==
  19. #!/bin/bash
  20.  
  21. for TF in cache.trace.*
  22. do
  23.     TRACE=$(echo $TF | cut -d . -f 2-)
  24.     echo "Trace: $TRACE"
  25.     for pf in params/params.*
  26.     do
  27.         SUFFIX=$(echo $pf | cut -d . -f 2-)
  28.         echo $SUFFIX
  29.         ./cachesim $pf $TF > results/result.$TRACE.$SUFFIX
  30.         if [ $? -ne 0 ]
  31.         then
  32.             echo "Failed. :("
  33.             exit 1
  34.         fi
  35.     done
  36. done
  37.  
  38. == process_results.sh ==
  39. #!/bin/bash
  40.  
  41. mkdir -p csv
  42.  
  43. for m in bs size
  44. do
  45.     for t in cc1 tex ucomp
  46.     do
  47.         tf=csv/result.$t.$m.csv
  48.         echo "$m,hr" > $tf
  49.         for f in results/result.$t.$m.*
  50.         do
  51.             BS=$(grep "block size = " $f | sed "s/.*block size = \([0-9]*\)/\1/")
  52.             SIZE=$(grep " bytes, " $f | sed "s/\([0-9]*\) bytes.*/\1/")
  53.             HR=$(grep "hit rate = " $f | sed "s/.*hit rate = \([0-9\.]*\)/\1/")
  54.             if [ "$m" = "bs" ]
  55.             then
  56.                 element=$BS
  57.             else
  58.                 element=$SIZE
  59.             fi
  60.             echo "$element,$HR" >> $tf
  61.         done
  62.     done
  63. done
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement