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 times for microbenchmarks"
512027Sjungma@eit.uni-kl.de
612027Sjungma@eit.uni-kl.de  nmach = 0;
712027Sjungma@eit.uni-kl.de
812027Sjungma@eit.uni-kl.de  test_callind = "18";
912027Sjungma@eit.uni-kl.de  test_callimm = "18";
1012027Sjungma@eit.uni-kl.de  test_addreg = "20";
1112027Sjungma@eit.uni-kl.de  test_loadreg = "21";
1212027Sjungma@eit.uni-kl.de}
1312027Sjungma@eit.uni-kl.de
1412027Sjungma@eit.uni-kl.de{
1512027Sjungma@eit.uni-kl.de  mach = $1
1612027Sjungma@eit.uni-kl.de  test = $2
1712027Sjungma@eit.uni-kl.de  iter = $3
1812027Sjungma@eit.uni-kl.de  time = $6 + $8
1912027Sjungma@eit.uni-kl.de
2012027Sjungma@eit.uni-kl.de  if (machi[mach] == 0) {
2112027Sjungma@eit.uni-kl.de    machn[nmach] = mach;
2212027Sjungma@eit.uni-kl.de    machi[mach] = 1;
2312027Sjungma@eit.uni-kl.de    ++nmach;
2412027Sjungma@eit.uni-kl.de  }
2512027Sjungma@eit.uni-kl.de
2612027Sjungma@eit.uni-kl.de  ns_per_op = time / iter * 1000000
2712027Sjungma@eit.uni-kl.de  times[mach "_" test] = ns_per_op;
2812027Sjungma@eit.uni-kl.de}
2912027Sjungma@eit.uni-kl.de
3012027Sjungma@eit.uni-kl.de
3112027Sjungma@eit.uni-kl.deEND {
3212027Sjungma@eit.uni-kl.de  for (i=0; i<nmach; ++i) {
3312027Sjungma@eit.uni-kl.de    m = machn[i];
3412027Sjungma@eit.uni-kl.de
3512027Sjungma@eit.uni-kl.de    ind = times[m "_" test_callind];
3612027Sjungma@eit.uni-kl.de    imm = times[m "_" test_callimm];
3712027Sjungma@eit.uni-kl.de    add = times[m "_" test_addreg];
3812027Sjungma@eit.uni-kl.de    load = times[m "_" test_loadreg];
3912027Sjungma@eit.uni-kl.de    printf ("%s|%1.3f|%1.3f|%1.3f|%1.3f\n", m, ind, imm, add, load);
4012027Sjungma@eit.uni-kl.de  }
4112027Sjungma@eit.uni-kl.de}
42