summaryrefslogtreecommitdiffstats
path: root/scripts/bloat-o-meter
diff options
context:
space:
mode:
authorVineet Gupta <Vineet.Gupta1@synopsys.com>2016-05-20 02:09:17 +0200
committerLinus Torvalds <torvalds@linux-foundation.org>2016-05-20 04:12:14 +0200
commitb21e91c305bcebf55b7a34638e5885528f3fb453 (patch)
treef21b141206af29b141e4cd4f23fcd421ad9a746e /scripts/bloat-o-meter
parentscripts/spelling.txt: add "fimware" misspelling (diff)
downloadlinux-b21e91c305bcebf55b7a34638e5885528f3fb453.tar.xz
linux-b21e91c305bcebf55b7a34638e5885528f3fb453.zip
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>
Diffstat (limited to 'scripts/bloat-o-meter')
-rwxr-xr-xscripts/bloat-o-meter6
1 files changed, 6 insertions, 0 deletions
diff --git a/scripts/bloat-o-meter b/scripts/bloat-o-meter
index 38b64f487315..0254f3ba0dba 100755
--- a/scripts/bloat-o-meter
+++ b/scripts/bloat-o-meter
@@ -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))