| Index: tools/ll_prof.py
|
| ===================================================================
|
| --- tools/ll_prof.py (revision 7948)
|
| +++ tools/ll_prof.py (working copy)
|
| @@ -784,12 +784,14 @@
|
| return True
|
|
|
|
|
| -def PrintReport(code_map, library_repo, arch, options):
|
| +def PrintReport(code_map, library_repo, arch, ticks, options):
|
| print "Ticks per symbol:"
|
| used_code = [code for code in code_map.UsedCode()]
|
| used_code.sort(key=lambda x: x.self_ticks, reverse=True)
|
| for i, code in enumerate(used_code):
|
| - print "%10d %s [%s]" % (code.self_ticks, code.FullName(), code.origin)
|
| + code_ticks = code.self_ticks
|
| + print "%10d %5.1f%% %s [%s]" % (code_ticks, 100. * code_ticks / ticks,
|
| + code.FullName(), code.origin)
|
| if options.disasm_all or i < options.disasm_top:
|
| code.PrintAnnotated(arch, options)
|
| print
|
| @@ -797,7 +799,9 @@
|
| mmap_infos = [m for m in library_repo.infos]
|
| mmap_infos.sort(key=lambda m: m.ticks, reverse=True)
|
| for mmap_info in mmap_infos:
|
| - print "%10d %s" % (mmap_info.ticks, mmap_info.unique_name)
|
| + mmap_ticks = mmap_info.ticks
|
| + print "%10d %5.1f%% %s" % (mmap_ticks, 100. * mmap_ticks / ticks,
|
| + mmap_info.unique_name)
|
|
|
|
|
| def PrintDot(code_map, options):
|
| @@ -882,6 +886,7 @@
|
| if not options.quiet:
|
| print "Generated code architecture: %s" % log_reader.arch
|
| print
|
| + sys.stdout.flush()
|
|
|
| # Process the code and trace logs.
|
| library_repo = LibraryRepo()
|
| @@ -923,7 +928,7 @@
|
| if options.dot:
|
| PrintDot(code_map, options)
|
| else:
|
| - PrintReport(code_map, library_repo, log_reader.arch, options)
|
| + PrintReport(code_map, library_repo, log_reader.arch, ticks, options)
|
|
|
| if not options.quiet:
|
| print
|
|
|