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?

_______________________________________________
LibreOffice mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/libreoffice

Reply via email to