예제 #1
0
            opc += " " + tkns[1]
        exe_cnt = int(line[22:28].strip())
        res[opc] += exe_cnt
    return res


if __name__ == "__main__":
    ic1 = inst_cnt(
        "/local_disk/msherstennikov/build.test/run_pure/xsim_tests/4.5/x86_64/test1/xsim_bmark64_spec2k6.aarch64.433.milc.ref_O2_sys_top100_23/sim0/logs/ptune.out"
    )
    ic2 = inst_cnt(
        "/local_disk/msherstennikov/build.test/run_inline/xsim_tests/4.5/x86_64/test1/xsim_bmark64_spec2k6.aarch64.433.milc.ref_O2_sys_top100_23/sim0/logs/ptune.out"
    )
    res = []
    for k, v in ic1.iteritems():
        res.append([k, v, ic2[k], infra.percentage_drift(v, ic2[k])])
    for v in sorted(res, key=lambda x: x[3], reverse=True):
        if "ld" not in v[0]:
            continue
        print "{:<32}{:>8}{:>8} {:+.2f}".format(*v)
    cnt = (sum(v for k, v in ic1.iteritems() if "ld" in k), sum(v for k, v in ic2.iteritems() if "ld" in k))
    print "LDR: {:>12}{:>12} {:+.2f}".format(cnt[0], cnt[1], infra.percentage_drift(cnt[0], cnt[1]))
    cnt = (sum(v for k, v in ic1.iteritems() if "str" in k), sum(v for k, v in ic2.iteritems() if "str" in k))
    print "STR: {:>12}{:>12} {:+.2f}".format(cnt[0], cnt[1], infra.percentage_drift(cnt[0], cnt[1]))
    cnt = (sum(v for k, v in ic1.iteritems() if "brn" in k), sum(v for k, v in ic2.iteritems() if "brn" in k))
    print "BRN: {:>12}{:>12} {:+.2f}".format(cnt[0], cnt[1], infra.percentage_drift(cnt[0], cnt[1]))
    cnt = (sum(v for k, v in ic1.iteritems()), sum(v for k, v in ic2.iteritems()))
    print "TOTAL: {:>12}{:>12} {:+.2f}".format(cnt[0], cnt[1], infra.percentage_drift(cnt[0], cnt[1]))
    # parse_line('00000040481c a0210580  40107               vqs.move64 %v17, %q18[0]')
    # parse_line('00000040481c a0210548  40107           11  p.mem.am vs.ldr.z64.b %v0, M[%r1 +32]')
    # parse('/local_disk/msherstennikov/build.test/run_pure/xsim_tests/4.5/x86_64/test/xsim_bmark64_spec2k6.aarch64.433.milc.ref_O2_sys_top100_23/sim0/logs/ptune.out')
예제 #2
0
파일: psim.py 프로젝트: shermike/scripts
 def diff_app(self, other):
     res = []
     for k, v in self.app.iteritems():
         other_v = other.app[k]
         res.append([k, v, other_v, infra.percentage_drift(v, other_v)])
     return res
예제 #3
0
파일: psim.py 프로젝트: shermike/scripts
 def diff_penalty(self, other):
     res = []
     for t in self.penalty:
         other_t = next(p for p in other.penalty if p[0] == t[0])
         res.append([t[0], t[1], other_t[1], infra.percentage_drift(t[1], other_t[1])])
     return res
예제 #4
0
파일: psim.py 프로젝트: shermike/scripts
 def diff_yaml(self, other):
     for key, value in sorted(self.yaml.iteritems(), key=lambda (k,v): k):
         value2 = other.yaml[key]
         print '{:<32}{:>20}{:>20}  {:+.2f}'.format(key, value, value2, infra.percentage_drift(value, value2))