cswap revision 12027
112027Sjungma@eit.uni-kl.de#! /bin/awk -f
212027Sjungma@eit.uni-kl.de
312027Sjungma@eit.uni-kl.deBEGIN {
412027Sjungma@eit.uni-kl.de  purpose = "report time used by int only and int+fp cswaps";
512027Sjungma@eit.uni-kl.de
612027Sjungma@eit.uni-kl.de  nmach = 0;
712027Sjungma@eit.uni-kl.de
812027Sjungma@eit.uni-kl.de  test_int = "7";
912027Sjungma@eit.uni-kl.de  test_fp = "8";
1012027Sjungma@eit.uni-kl.de}
1112027Sjungma@eit.uni-kl.de
1212027Sjungma@eit.uni-kl.de{
1312027Sjungma@eit.uni-kl.de  mach = $1
1412027Sjungma@eit.uni-kl.de  test = $2
1512027Sjungma@eit.uni-kl.de  iter = $3
1612027Sjungma@eit.uni-kl.de  time = $6 + $8
1712027Sjungma@eit.uni-kl.de
1812027Sjungma@eit.uni-kl.de  if (machi[mach] == 0) {
1912027Sjungma@eit.uni-kl.de    machn[nmach] = mach;
2012027Sjungma@eit.uni-kl.de    machi[mach] = 1;
2112027Sjungma@eit.uni-kl.de    ++nmach;
2212027Sjungma@eit.uni-kl.de  }
2312027Sjungma@eit.uni-kl.de
2412027Sjungma@eit.uni-kl.de  us_per_op = time / iter * 1000000
2512027Sjungma@eit.uni-kl.de  times[mach "_" test] = us_per_op;
2612027Sjungma@eit.uni-kl.de}
2712027Sjungma@eit.uni-kl.de
2812027Sjungma@eit.uni-kl.de
2912027Sjungma@eit.uni-kl.deEND {
3012027Sjungma@eit.uni-kl.de  for (i=0; i<nmach; ++i) {
3112027Sjungma@eit.uni-kl.de    m = machn[i];
3212027Sjungma@eit.uni-kl.de
3312027Sjungma@eit.uni-kl.de    integer = times[m "_" test_int];
3412027Sjungma@eit.uni-kl.de    fp = times[m "_" test_fp];
3512027Sjungma@eit.uni-kl.de    printf ("%s|%3.1f|%3.1f\n", m, integer, fp);
3612027Sjungma@eit.uni-kl.de  }
3712027Sjungma@eit.uni-kl.de}
38