[Toybox] request for comments: pybloat.py
Rob Landley
rob at landley.net
Mon Feb 20 17:33:42 PST 2012
On 02/15/2012 04:22 PM, Elie De Brauwer wrote:
> On 02/15/2012 01:54 PM, Rob Landley wrote:
>> On 02/15/2012 06:37 AM, Elie De Brauwer wrote:
>>> Jikes, apparently there is no installation candidate for python2.7, I'll
>>> modify the code to use optarg instead of argparse, python2.7 isn't as
>>> widespread as i thought it was. I'll get a new version for testing out.
>>>
>>> (I considered writing it in sh or C, but the fact that python natively
>>> supports set operations was the reason to keep in in .py).
>>
>> Python is a very nice language. (Although these days with the version
>> skew python is about three very nice languages sharing the same name...)
>>
>> That said, shell is marvelously abuseable:
>>
>> diff<(nm --size-sort toybox_unstripped | sort -k3,3) \
>> <(nm --size-sort toybox_old | sort -k 3,3) \
>> | grep "^[<>]" | sort -k4,4
>>
>> (Ok,<(blah) is a bash extension...)
>>
>
> Well, I promised a version which just uses getopt, and this one I tested
> with python 2.6, so see attach. Next point is whether to send it
> completely to /dev/null, or to modify it if needed to fit our needs (as
> said comments welcome).
Still catching up, I finally got to test this.
I did a "make baseline" on current -tip, and then switched off "swapon"
in menuconfig and did a "make bloatcheck".
With bloat-o-meter, the output was:
function old new delta
read_block_header 1082 1079 -3
toy_list 1824 1792 -32
swapon_main 71 - -71
------------------------------------------------------------------------------
(add/remove: 0/1 grow/shrink: 0/2 up/down: 0/-106) Total: -106
bytes
With pybloat.py the output was:
--------------------------------------------
|Removals
+--------
swapon_main : -71
toy_paths.5752 : -32
C.0.5674 : -32
C.0.5670 : -24
C.0.5729 : -20
--------------------------------------------
|Additions
+---------
toy_paths.5750 : 32
C.0.5672 : 32
C.0.5668 : 24
C.0.5727 : 20
--------------------------------------------
|Deltas
+------
toy_list : -32
--------------------------------------------
|Summary
+-------
5 removals gaining : -179
4 additions loosing: 108
1 deltas giving : -32
--------------------------------------------
Result: -103
--------------------------------------------
I personally find the first version is a touch easier to read...
Rob
More information about the Toybox
mailing list