Does anyone tried to build LibreOffice with jemallc?
I tried to use LibreOffice on Windows environment, and it required too much memory rather than
Microsoft Office.
So I tryied to inspect memory usage with Microsoft Performance Analyzer.
http://msdn.microsoft.com/en-us/library/windows/desktop/hh448170.aspx
I can find many malloc/free and new/delete pair, so I suspect possibility of heap memory
fragmantation.
Then I tried to build with jemalloc, a famous memory allocator.
I modified desktop/Executable_soffice_bin.mk like the following:
$(eval $(call gb_Executable_add_ldflags,soffice_bin,\
/STACK:10000000 \
/NODEFAULTLIB:msvcrt /NODEFAULTLIB:libcmt \
'c:\cygwin\libo\jemalloc\jemalloc_s.lib' \
'c:\cygwin\libo\jemalloc\libgcc.a' \
'C:\Program Files\Microsoft Visual Studio 11.0\VC\lib\msvcrt.lib' \
'C:\Program Files\Microsoft Visual Studio 11.0\VC\lib\libcmt.lib' \
))
(it’s a dirty hack)
So gbuild invoked the following command (a little bit long):
S=C:/cygwin/libo && O=C:/cygwin/opt/lo/build2/solver/wntmsci14.pro &&
W=C:/cygwin/opt/lo/build2/workdir/wntmsci14.pro &&
mkdir -p $W/LinkTarget/Executable/ &&
rm -f $W/LinkTarget/Executable/soffice_bin.exe && RESPONSEFILE=C:/cygwin/tmp/gbuild.ThJJlZ &&
unset INCLUDE &&
link -release -opt:noref -incremental:no -debug -nxcompat -dynamicbase -manifest
-SUBSYSTEM:WINDOWS,5.01 -LIBPATH:$O/lib -LIBPATH:C:/PROGRA~1/Java/JDK17~1.0_2/lib
-LIBPATH:C:/PROGRA~1/MICROS~1.0/VC/lib -LIBPATH:C:/PROGRA~1/WI3CF2~1/8.0/lib
-LIBPATH:C:/PROGRA~1/WI3CF2~1/8.0/lib/win8/um/x86 -LIBPATH:C:/PROGRA~1/MICROS~1.NET/SDK/v2.0//lib
-LIBPATH:C:/PROGRA~1/MI5E29~1/lib/x86 /STACK:10000000
/NODEFAULTLIB:msvcrt
/NODEFAULTLIB:libcmt
'c:\cygwin\libo\jemalloc\jemalloc_s.lib' 'c:\cygwin\libo\jemalloc\libgcc.a'
'C:\Program Files\Microsoft Visual Studio 11.0\VC\lib\msvcrt.lib'
'C:\Program Files\Microsoft Visual Studio 11.0\VC\lib\libcmt.lib'
@${RESPONSEFILE} isal.lib isofficeapp.lib iuwinapi.lib ooopathutils.lib
winextendloaderenv.lib advapi32.lib user32.lib -out:$W/LinkTarget/Executable/soffice_bin.exe;
RC=$?; rm ${RESPONSEFILE} &&
if [ -f $W/LinkTarget/Executable/soffice_bin.exe.manifest ]; then mt.exe -nologo -manifest
$W/LinkTarget/Executable/soffice_bin.exe.manifest
outputresource:$W/LinkTarget/Executable/soffice_bin.exe\;1 &&
touch -r $W/LinkTarget/Executable/soffice_bin.exe
W/LinkTarget/Executable/soffice_bin.exe.manifest; fi &&
if [ -f $S/solenv/inc/DeclareDPIAware.manifest ]; then
mt.exe -nologo -manifest $S/solenv/inc/DeclareDPIAware.manifest
-updateresource:$W/LinkTarget/Executable/soffice_bin.exe\;1 ;
fi ; exit $RC
I thknk it seems fine, but the output binary hadn’t have static jemalloc code.
Does anyone tried same thing?
Or how can I build LibreOffice with jemalloc static library?
Context
- Build with jemalloc · NOKUBI Takatsugu
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.