Date: prev next · Thread: first prev next last
2014 Archives by date, by thread · List index




On 2014-11-13 06:13 PM, Michael Meeks wrote:



* library bloat (Michael S)
     + not really an issue for release builds - --enable-mergelibs
         + big library + --enable-symbols -> OOM
     + especially problematic CppuniTests with use_library_objects
     + perhaps a barrier to entry to new developers
     + Calc: (with debuginfo) 4.1 - 413Mb, 4.3 - 512Mb, master - 600Mb
             (stripped)                    4.3 - 26.8Mb master - 30Mb
         + linking in parallel gives OOM issues.
         => avoid making libraries even bigger.
         + new calc engine uses lots of templates (Markus)
             + mdds usage is restricted to only a few modules: (Kohei)
                 + 5-6 translation units only.
         + whole code-base is using lots more templates (Markus)
             + compilation speed also got more than 2x slower (Kohei)
                 + use of own templates & container -> STL
         + recently turned a lot of methods to inline methods left/right (Kohei)

Some suggestions:

(1) Would it make a difference if I went through the *.hxx files, marking the inline methods with an explicit inline qualifier?

(2) Perhaps we need to be using the extern template feature to limit the number of instantiations 
of various templates?

(3) Use gcc's -gsplit-dwarf feature to reduce size of debug information (clang also has some 
support for this)
   https://gcc.gnu.org/wiki/DebugFission
We could auto-detect this in configure.ac and use it if available.

Disclaimer: http://www.peralex.com/disclaimer.html



Context


Privacy Policy | Impressum (Legal Info) | Copyright information: Unless otherwise specified, all text and images on this website are licensed under the Creative Commons Attribution-Share Alike 3.0 License. This does not include the source code of LibreOffice, which is licensed under the Mozilla Public License (MPLv2). "LibreOffice" and "The Document Foundation" are registered trademarks of their corresponding registered owners or are in actual use as trademarks in one or more countries. Their respective logos and icons are also subject to international copyright laws. Use thereof is explained in our trademark policy.