1234567891011121314151617181920212223242526272829303132333435 |
- import json
- tottime = {}
- cumtime = {}
- with open("profiling_results", "r") as f:
- for l in f:
- stack = json.loads(l)
- t = stack.pop()
- if stack:
- prev = None
- for func in set(stack):
- cumtime[func] = cumtime.get(func, 0.0) + t
- tottime[stack[-1]] = tottime.get(stack[-1], 0.0) + t
- max_tot = sorted(tottime.keys(), key=lambda i: -tottime[i])
- max_cum = sorted(cumtime.keys(), key=lambda i: -cumtime[i])
- print("TOTTIME")
- for f in max_tot:
- print("%s -- %s -- %s" % (f, tottime[f], cumtime[f]))
- print("")
- print("")
- print("CUMTIME")
- for f in max_cum:
- print("%s -- %s -- %s" % (f, tottime[f], cumtime[f]))
- print("")
- print("")
- print("NAME")
- for f in sorted(tottime.keys()):
- print("%s -- %s -- %s" % (f, tottime[f], cumtime[f]))
|