| #! /bin/awk -f | |
| BEGIN { | |
| purpose = "report times for microbenchmarks" | |
| nmach = 0; | |
| test_callind = "18"; | |
| test_callimm = "18"; | |
| test_addreg = "20"; | |
| test_loadreg = "21"; | |
| } | |
| { | |
| mach = $1 | |
| test = $2 | |
| iter = $3 | |
| time = $6 + $8 | |
| if (machi[mach] == 0) { | |
| machn[nmach] = mach; | |
| machi[mach] = 1; | |
| ++nmach; | |
| } | |
| ns_per_op = time / iter * 1000000 | |
| times[mach "_" test] = ns_per_op; | |
| } | |
| END { | |
| for (i=0; i<nmach; ++i) { | |
| m = machn[i]; | |
| ind = times[m "_" test_callind]; | |
| imm = times[m "_" test_callimm]; | |
| add = times[m "_" test_addreg]; | |
| load = times[m "_" test_loadreg]; | |
| printf ("%s|%1.3f|%1.3f|%1.3f|%1.3f\n", m, ind, imm, add, load); | |
| } | |
| } |