On 01/13/2016 11:50 PM, Ben Pfaff wrote:
Ben Pfaff wrote:
How much does this commit trim from the binary size?

Alexandru Ardelean wrote:
Roughly a 34k decrease in binary size, decrease being in libofproto and
libopenvswitch libs
Quite a small decrease, so more --disable-<feature> flags would be needed.
My next thought would have been to go after making RSTP and STP
disable-able.

I am not sure that this is the best approach to follow first.  It
doesn't seem to me that we've actually written 500 kB of new code from
OVS 2.0 to OVS 2.5.  I'd be curious to find out where the size is coming
from.  I can think of a couple of approaches that one could take to find
that out.  One is to look at intermediate points (e.g. v2.1, v2.2, ...,
or bisected points in between them) and see if it is a steady growth or
whether there are big jumps, and if the latter, whether those jumps are
for good reason or not.  Another is to start from what we've got not,
look at the sizes of the various object files, and do something akin to
profiling but for code size: is the largest object file large for a
reason, or is there something unfortunate going on?

I assume that OpenWRT builds optimize for size with -Os, is that true?

At least the the figures in the email look more like -O2, this is what I get for 2.5 branch on x86_64 after stripping:

With -O2 (so default CFLAGS):
-rwxr-xr-x. 1 pmatilai pmatilai  456640 Jan 14 09:28 libofproto.so.1.0.0
-rwxr-xr-x. 1 pmatilai pmatilai 1915832 Jan 14 09:28 libopenvswitch.so.1.0.0
-rwxr-xr-x. 1 pmatilai pmatilai  155504 Jan 14 09:28 libovn.so.1.0.0
-rwxr-xr-x. 1 pmatilai pmatilai  119632 Jan 14 09:28 libovsdb.so.1.0.0
-rwxr-xr-x. 1 pmatilai pmatilai   26872 Jan 14 09:28 libsflow.so.1.0.0
-rwxr-xr-x. 1 pmatilai pmatilai  154960 Jan 14 09:28 libvtep.so.1.0.0

With -Os:
-rwxr-xr-x. 1 pmatilai pmatilai  399264 Jan 14 09:28 libofproto.so.1.0.0
-rwxr-xr-x. 1 pmatilai pmatilai 1674200 Jan 14 09:28 libopenvswitch.so.1.0.0
-rwxr-xr-x. 1 pmatilai pmatilai  139120 Jan 14 09:28 libovn.so.1.0.0
-rwxr-xr-x. 1 pmatilai pmatilai  107344 Jan 14 09:28 libovsdb.so.1.0.0
-rwxr-xr-x. 1 pmatilai pmatilai   22768 Jan 14 09:28 libsflow.so.1.0.0
-rwxr-xr-x. 1 pmatilai pmatilai  142672 Jan 14 09:28 libvtep.so.1.0.0

--enable-ndebug further reduces it to:
-rwxr-xr-x. 1 pmatilai pmatilai  391072 Jan 14 10:04 libofproto.so.1.0.0
-rwxr-xr-x. 1 pmatilai pmatilai 1555384 Jan 14 10:04 libopenvswitch.so.1.0.0
-rwxr-xr-x. 1 pmatilai pmatilai  106320 Jan 14 10:04 libovn.so.1.0.0
-rwxr-xr-x. 1 pmatilai pmatilai  103248 Jan 14 10:04 libovsdb.so.1.0.0
-rwxr-xr-x. 1 pmatilai pmatilai   22760 Jan 14 10:04 libsflow.so.1.0.0
-rwxr-xr-x. 1 pmatilai pmatilai   97616 Jan 14 10:04 libvtep.so.1.0.0
[pmatilai@sopuli lib]$

For comparison, 2.4 with the same options is:
-rwxr-xr-x. 1 pmatilai pmatilai  370400 Jan 14 10:09 libofproto.so.1.0.0
-rwxr-xr-x. 1 pmatilai pmatilai 1423096 Jan 14 10:09 libopenvswitch.so.1.0.0
-rwxr-xr-x. 1 pmatilai pmatilai  106320 Jan 14 10:09 libovn.so.1.0.0
-rwxr-xr-x. 1 pmatilai pmatilai  103216 Jan 14 10:09 libovsdb.so.1.0.0
-rwxr-xr-x. 1 pmatilai pmatilai   22760 Jan 14 10:09 libsflow.so.1.0.0
-rwxr-xr-x. 1 pmatilai pmatilai   68784 Jan 14 10:09 libvtep.so.1.0.0

OVS 2.3:
-rwxr-xr-x. 1 pmatilai pmatilai  330424 Jan 14 10:27 libofproto-2.3.3.so
-rwxr-xr-x. 1 pmatilai pmatilai 1413096 Jan 14 10:27 libopenvswitch-2.3.3.so
-rwxr-xr-x. 1 pmatilai pmatilai   98992 Jan 14 10:27 libovsdb-2.3.3.so
-rwxr-xr-x. 1 pmatilai pmatilai   22680 Jan 14 10:27 libsflow-2.3.3.so

OVS 2.2:
-rwxr-xr-x. 1 pmatilai pmatilai  321368 Jan 14 10:26 libofproto-2.2.0.so
-rwxr-xr-x. 1 pmatilai pmatilai 1374056 Jan 14 10:26 libopenvswitch-2.2.0.so
-rwxr-xr-x. 1 pmatilai pmatilai   98992 Jan 14 10:26 libovsdb-2.2.0.so
-rwxr-xr-x. 1 pmatilai pmatilai   22680 Jan 14 10:26 libsflow-2.2.0.so

OVS 2.1:
-rwxr-xr-x. 1 pmatilai pmatilai  303864 Jan 14 10:29 libofproto-2.1.4.so
-rwxr-xr-x. 1 pmatilai pmatilai 1325672 Jan 14 10:29 libopenvswitch-2.1.4.so
-rwxr-xr-x. 1 pmatilai pmatilai   98992 Jan 14 10:29 libovsdb-2.1.4.so
-rwxr-xr-x. 1 pmatilai pmatilai   22680 Jan 14 10:29 libsflow-2.1.4.so

2.0 doesn't have libraries so its not directly comparable.
Didn't look deeper into it but seems like fairly steady growth to me.

        - Panu -
_______________________________________________
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev

Reply via email to