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.