OK to merge the fw? libraries in framework?

Michael Meeks michael.meeks at suse.com
Thu Feb 9 04:42:30 PST 2012

On Thu, 2012-02-09 at 13:14 +0200, Tor Lillqvist wrote:
> On the other hand, desktop/Pagein_common.mk mentions all except fwm.

	:-) prolly that needs removing I guess.

> (But  then fwm is clearly the very smallest of them, so whether it is
> included in a merged super-fwk or not shouldn't matter much IMHO.)
> What does this mean, that also fwl gets "paged in" anyway?

	Personally I don't much care; the sizes are reasonably small anyway
compared to the systematic bloat that we suffer everywhere. It is
amazing to me that libfwl is 350kB stripped when you see what is (not)
in it :-)

$ grep ';' framework/source/classes/fwlresid.cxx framework/source/dispatch/mailtodispatcher.cxx framework/source/dispatch/oxt_handler.cxx framework/source/dispatch/popupmenudispatcher.cxx framework/source/dispatch/servicehandler.cxx framework/source/recording/dispatchrecorder.cxx framework/source/recording/dispatchrecordersupplier.cxx framework/source/register/registertemp.cxx framework/source/services/dispatchhelper.cxx framework/source/services/license.cxx framework/source/services/mediatypedetectionhelper.cxx framework/source/services/uriabbreviation.cxx framework/source/uielement/fontmenucontroller.cxx framework/source/uielement/fontsizemenucontroller.cxx framework/source/uielement/footermenucontroller.cxx framework/source/uielement/headermenucontroller.cxx framework/source/uielement/langselectionmenucontroller.cxx framework/source/uielement/logoimagestatusbarcontroller.cxx framework/source/uielement/logotextstatusbarcontroller.cxx framework/source/uielement/macrosmenucontroller.cxx framework/source/uielement/newmenucontroller.cxx framework/source/uielement/popupmenucontroller.cxx framework/source/uielement/simpletextstatusbarcontroller.cxx framework/source/uielement/toolbarsmenucontroller.cxx | wc -l

	We have 1700 lines of code, producing:

$ ls -lh /tmp/fwk/
-rwxr-xr-x 1 michael users 355K Feb  9 12:31 libfwllo.so

	When stripped; 200+ bytes per line; the binary is 20K larger than the
source that went in. Hence my hope that we can do better size-wise with
some heavy-duty optimisation. But thoughts appreciated, it's nice to
save 500k on start if we can do it easily.

	I guess it depends on the coupling; if we could create a two library
solution - the "libmerged" for startup, and a "libbloat" for when
corner-case features are used, we could perhaps partition our problem
into two bits; but hard to know where the best cut is there.

> So, should I continue merging into one fwk_new = fwe+fwi+fwk+fwl+fwm
> (mostly done, seems to work on OS X, still compiling on Windows), or
> redo as two libs fwk_new = fwe+fwi+fwk and fwl_new = fwl+fwm ?

	I'd do whatever is easiest :-)



michael.meeks at suse.com  <><, Pseudo Engineer, itinerant idiot

More information about the LibreOffice mailing list