• Ashod Nakashian's avatar
    Optimised UnoCrsrTbl cleanup for faster doc saving · f99e8f84
    Ashod Nakashian yazdı
    SwDoc has weak_ptr list to notify UnoCrsr instances
    when the doc is about to die. These were updated
    when each UnoCrsr instance was destroyed.
    
    The first performance issue is the use of a list.
    This no doubt is done to avoid the overhead
    of removing items at arbitrary position from a
    vector. Performance tests show vector is faster
    with a large document and ~10k UnoCrsr instances.
    
    More important, there is no need to clean up
    the references as frequently as when each
    UnoCrsr is destroyed as they are rarely referenced
    at all. Having outdated references is no issue either.
    
    The new logic uses a vector and cleans up only
    after saving a document and before saving
    UnoCrsr instances.
    
    Saving ODT files is now significantly faster for
    large documents (100s of pages).
    
    Change-Id: I3895d9d80d174cda9c94b94837e2149e9fadcb42
    Reviewed-on: https://gerrit.libreoffice.org/19604Tested-by: 's avatarJenkins <ci@libreoffice.org>
    Reviewed-by: 's avatarBjörn Michaelsen <bjoern.michaelsen@canonical.com>
    f99e8f84
Adı
Son kayıt (commit)
Son güncelleme
..
inc Loading commit data...
qa Loading commit data...
sdi Loading commit data...
source Loading commit data...
uiconfig Loading commit data...
util Loading commit data...
AllLangResTarget_sw.mk Loading commit data...
CppunitTest_sw_docbookexport.mk Loading commit data...
CppunitTest_sw_filters_test.mk Loading commit data...
CppunitTest_sw_globalfilter.mk Loading commit data...
CppunitTest_sw_htmlexport.mk Loading commit data...
CppunitTest_sw_htmlimport.mk Loading commit data...
CppunitTest_sw_layout_test.mk Loading commit data...
CppunitTest_sw_macros_test.mk Loading commit data...
CppunitTest_sw_mailmerge.mk Loading commit data...
CppunitTest_sw_odfexport.mk Loading commit data...
CppunitTest_sw_odfimport.mk Loading commit data...
CppunitTest_sw_ooxmlexport.mk Loading commit data...
CppunitTest_sw_ooxmlexport2.mk Loading commit data...
CppunitTest_sw_ooxmlexport3.mk Loading commit data...
CppunitTest_sw_ooxmlexport4.mk Loading commit data...
CppunitTest_sw_ooxmlexport5.mk Loading commit data...
CppunitTest_sw_ooxmlexport6.mk Loading commit data...
CppunitTest_sw_ooxmlexport7.mk Loading commit data...
CppunitTest_sw_ooxmlfieldexport.mk Loading commit data...
CppunitTest_sw_ooxmlimport.mk Loading commit data...
CppunitTest_sw_ooxmlw14export.mk Loading commit data...
CppunitTest_sw_rtfexport.mk Loading commit data...
CppunitTest_sw_rtfimport.mk Loading commit data...
CppunitTest_sw_tiledrendering.mk Loading commit data...
CppunitTest_sw_uiwriter.mk Loading commit data...
CppunitTest_sw_uwriter.mk Loading commit data...
CppunitTest_sw_ww8export.mk Loading commit data...
CppunitTest_sw_ww8import.mk Loading commit data...
CustomTarget_generated.mk Loading commit data...
JunitTest_sw_complex.mk Loading commit data...
JunitTest_sw_unoapi_1.mk Loading commit data...
JunitTest_sw_unoapi_2.mk Loading commit data...
JunitTest_sw_unoapi_3.mk Loading commit data...
JunitTest_sw_unoapi_4.mk Loading commit data...
Library_msword.mk Loading commit data...
Library_sw.mk Loading commit data...
Library_swd.mk Loading commit data...
Library_swui.mk Loading commit data...
Library_vbaswobj.mk Loading commit data...
Makefile Loading commit data...
Module_sw.mk Loading commit data...
PythonTest_sw_python.mk Loading commit data...
README Loading commit data...
UIConfig_sglobal.mk Loading commit data...
UIConfig_sweb.mk Loading commit data...
UIConfig_swform.mk Loading commit data...
UIConfig_swreport.mk Loading commit data...
UIConfig_swriter.mk Loading commit data...
UIConfig_swxform.mk Loading commit data...
ooxmlexport_setup.mk Loading commit data...