scripts/bloat-o-meter: print percent change
This adds an additional line of output (to reduce the chances of breaking any existing output parsers) which prints the total size before and after and the relative difference. add/remove: 39/0 grow/shrink: 12408/55 up/down: 362227/-1430 (360797) function old new delta ext4_fill_super 10556 12590 +2034 _fpadd_parts - 1186 +1186 ntfs_fill_super 5340 6164 +824 ... ... __divdf3 752 386 -366 unlzma 3682 3274 -408 Total: Before=5023101, After=5383898, chg 7.000000% ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Link: http://lkml.kernel.org/r/1463124110-30314-1-git-send-email-vgupta@synopsys.com Signed-off-by: Vineet Gupta <vgupta@synopsys.com> Cc: Josh Triplett <josh@joshtriplett.org> Cc: Michal Marek <mmarek@suse.cz> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
bad7de742d
commit
b21e91c305
1 changed files with 6 additions and 0 deletions
|
@ -32,18 +32,21 @@ old = getsizes(sys.argv[1])
|
|||
new = getsizes(sys.argv[2])
|
||||
grow, shrink, add, remove, up, down = 0, 0, 0, 0, 0, 0
|
||||
delta, common = [], {}
|
||||
otot, ntot = 0, 0
|
||||
|
||||
for a in old:
|
||||
if a in new:
|
||||
common[a] = 1
|
||||
|
||||
for name in old:
|
||||
otot += old[name]
|
||||
if name not in common:
|
||||
remove += 1
|
||||
down += old[name]
|
||||
delta.append((-old[name], name))
|
||||
|
||||
for name in new:
|
||||
ntot += new[name]
|
||||
if name not in common:
|
||||
add += 1
|
||||
up += new[name]
|
||||
|
@ -63,3 +66,6 @@ print("add/remove: %s/%s grow/shrink: %s/%s up/down: %s/%s (%s)" % \
|
|||
print("%-40s %7s %7s %+7s" % ("function", "old", "new", "delta"))
|
||||
for d, n in delta:
|
||||
if d: print("%-40s %7s %7s %+7d" % (n, old.get(n,"-"), new.get(n,"-"), d))
|
||||
|
||||
print("Total: Before=%d, After=%d, chg %f%%" % \
|
||||
(otot, ntot, (ntot - otot)*100/otot))
|
||||
|
|
Loading…
Reference in a new issue