allwinner_a64/android/external/autotest/client/tools/oprofile_diff
2018-08-08 16:14:42 +08:00

29 lines
726 B
Python
Executable file

#!/usr/bin/python
import re, sys
def parse_file(filename):
data = {}
for line in open(filename):
if re.match('\d', line):
(samples, percent, symbol) = line.split()
data[symbol] = float(percent)
return data
data1 = parse_file(sys.argv[1])
data2 = parse_file(sys.argv[2])
delta = {}
for symbol in data1.keys() + data2.keys():
delta[symbol] = data1.get(symbol, 0) - data2.get(symbol, 0)
def lookup_delta(symbol):
return delta[symbol]
sorted_deltas = sorted(delta.keys(), key=lookup_delta, reverse=True)
if len(sorted_deltas) > 40:
sorted_deltas = sorted_deltas[0:20] + sorted_deltas[-20:]
for symbol in sorted_deltas:
print '%2.3f %s' % (delta[symbol], symbol)