Skip to content

Commit

Permalink
scripts/bloat-o-meter: print percent change
Browse files Browse the repository at this point in the history
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/[email protected]
Signed-off-by: Vineet Gupta <[email protected]>
Cc: Josh Triplett <[email protected]>
Cc: Michal Marek <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
  • Loading branch information
Vineet Gupta authored and torvalds committed May 20, 2016
1 parent bad7de7 commit b21e91c
Showing 1 changed file with 6 additions and 0 deletions.
6 changes: 6 additions & 0 deletions scripts/bloat-o-meter
Original file line number Diff line number Diff line change
Expand Up @@ -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]
Expand All @@ -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))

0 comments on commit b21e91c

Please sign in to comment.