[llvm] r308537 - [opt-viewer] Print allocated memory per remark in opt-stats.py
Adam Nemet via llvm-commits
llvm-commits at lists.llvm.org
Wed Jul 19 15:04:58 PDT 2017
Author: anemet
Date: Wed Jul 19 15:04:58 2017
New Revision: 308537
URL: http://llvm.org/viewvc/llvm-project?rev=308537&view=rev
Log:
[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.
Modified:
llvm/trunk/tools/opt-viewer/opt-stats.py
Modified: llvm/trunk/tools/opt-viewer/opt-stats.py
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/opt-viewer/opt-stats.py?rev=308537&r1=308536&r2=308537&view=diff
==============================================================================
--- llvm/trunk/tools/opt-viewer/opt-stats.py (original)
+++ llvm/trunk/tools/opt-viewer/opt-stats.py Wed Jul 19 15:04:58 2017
@@ -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),
More information about the llvm-commits
mailing list