summaryrefslogtreecommitdiffstats
path: root/llvm/tools/opt-viewer/opt-stats.py
diff options
context:
space:
mode:
authorAdam Nemet <anemet@apple.com>2017-07-19 22:04:58 +0000
committerAdam Nemet <anemet@apple.com>2017-07-19 22:04:58 +0000
commit37d18f1d8a876864dc39e15d5548d335c12384c9 (patch)
tree147c2ac0b636fdaf8737c81401fb4c84d27a023a /llvm/tools/opt-viewer/opt-stats.py
parent1d5f5b3b591b9400bec568d9e55dbf7d984e336d (diff)
downloadbcm5719-llvm-37d18f1d8a876864dc39e15d5548d335c12384c9.tar.gz
bcm5719-llvm-37d18f1d8a876864dc39e15d5548d335c12384c9.zip
[opt-viewer] Print allocated memory per remark in opt-stats.py
If heapy is installed print the "average" in-memory remark size. This is estimated by dividing the total heap size by the number of unique remarks. llvm-svn: 308537
Diffstat (limited to 'llvm/tools/opt-viewer/opt-stats.py')
-rwxr-xr-xllvm/tools/opt-viewer/opt-stats.py14
1 files changed, 13 insertions, 1 deletions
diff --git a/llvm/tools/opt-viewer/opt-stats.py b/llvm/tools/opt-viewer/opt-stats.py
index 205b08ba8a7..8fa88cc510a 100755
--- a/llvm/tools/opt-viewer/opt-stats.py
+++ b/llvm/tools/opt-viewer/opt-stats.py
@@ -13,6 +13,13 @@ import operator
from collections import defaultdict
from multiprocessing import cpu_count, Pool
+try:
+ from guppy import hpy
+ hp = hpy()
+except ImportError:
+ print("Memory consumption not shown because guppy is not installed")
+ hp = None
+
if __name__ == '__main__':
parser = argparse.ArgumentParser(description=desc)
parser.add_argument(
@@ -53,7 +60,12 @@ if __name__ == '__main__':
byname[r.Pass + "/" + r.Name] += 1
total = len(all_remarks)
- print("{:24s} {:10d}\n".format("Total number of remarks", total))
+ print("{:24s} {:10d}".format("Total number of remarks", total))
+ if hp:
+ h = hp.heap()
+ print("{:24s} {:10d}".format("Memory per remark",
+ h.size / len(all_remarks)))
+ print('\n')
print("Top 10 remarks by pass:")
for (passname, count) in sorted(bypass.items(), key=operator.itemgetter(1),
OpenPOWER on IntegriCloud