On Fri, 4 Jan 2002, Allan Rae wrote:
> Anyway, this effectively means something like the following is more
> correct (based on extrapolated sizes when combining subdir libraries):
>
> 1.2.0cvs 1.1.6fixcvs Which library
> 1707026 624004 ./frontends/.libs/libfrontends.a
> 457480 n/a ./frontends/controllers/.libs/libcontrollers.a
[...]
> 1083494 533780 ./frontends/xforms/.libs/libxforms.a
Numbers of GUII dialogs:
1.2.0cvs 1.1.6fixcvs Difference
40 15 25
(This is a fantastic statistic IMO -- because I didn't add any of
the extras)
Bytes per dialog:
1.2.0cvs 1.1.6fixcvs Difference
42675 41600 1075 ./frontends/.libs/libfrontends.a
27087 35585 -8498 ./frontends/xforms/.libs/libxforms.a
11437 0 11437 ./frontends/.../libcontrollers.a
----- -----
38524 35585 <== dialog specific bytes
Overhead per dialog:
4151 6015 <== additional support for frontends
MVC appears to add about 1kB per dialog overall for the entire
frontends directory. Playing with the other numbers is fun but like
all statistics they are lies. 1.2.0cvs includes the ButtonPolices in
the controller library for example which is part of the reason why the
additional support numbers above are so different.
Is 40kB per dialog a hassle? Even if they are bigger and better and
shinier than any dialogs we've ever had before?
Q. How much space does a modern C++ GUI toolkit save us?
Q. Would fixing the MVC hierarchy save us anything?
Stay tuned.
##
BTW, recompiling 1.2.0cvs without the -DXLIB_ILLEGAL_ACCESS= reduced
all these numbers considerably. For example the src/lyx stripped
binary is now:
new old
2121668 2121764
all of 96 bytes smaller.
Allan. (ARRae) Procrastination, where would we be without it?