12345678910111213141516171819202122232425 |
- import sys
- tottimes = {}
- cumtimes = {}
- for l in open(sys.argv[1], "r"):
- r = l.rsplit(" : ", 2)
- if len(r) == 3:
- func, cumtime, tottime = r
- cumtime = float(cumtime)
- tottime = float(tottime)
- tottimes[func] = tottimes.get(func, 0.0) + tottime
- cumtimes[func] = cumtimes.get(func, 0.0) + cumtime
- lists = [(funcname, tottimes[funcname], cumtimes[funcname]) for funcname in tottimes]
- c = 0
- lists.sort(key=lambda i: i[int(sys.argv[2])])
- for func, tottime, cumtime in reversed(lists):
- if not func.startswith("jit"):
- print("%s = %s (%s)" % (func, tottime, cumtime))
- c += 1
- if c > int(sys.argv[3]):
- break
|