diff options
| author | Adam Nemet <anemet@apple.com> | 2017-07-19 22:04:58 +0000 |
|---|---|---|
| committer | Adam Nemet <anemet@apple.com> | 2017-07-19 22:04:58 +0000 |
| commit | 37d18f1d8a876864dc39e15d5548d335c12384c9 (patch) | |
| tree | 147c2ac0b636fdaf8737c81401fb4c84d27a023a /llvm/tools/opt-viewer/opt-stats.py | |
| parent | 1d5f5b3b591b9400bec568d9e55dbf7d984e336d (diff) | |
| download | bcm5719-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-x | llvm/tools/opt-viewer/opt-stats.py | 14 |
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), |

