sw/source/core/txtnode/txtedt.cxx | 8 ++++++++ 1 file changed, 8 insertions(+)
New commits: commit 4184569b963877c2a488ff05766654b9db194798 Author: Michael Stahl <michael.st...@allotropia.de> AuthorDate: Fri Apr 30 15:31:54 2021 +0200 Commit: Michael Stahl <michael.st...@allotropia.de> CommitDate: Fri Apr 30 19:09:29 2021 +0200 sw: speed up DoIdleJobs(WORD_COUNT) SwTextNode::CountWords() has early returns that don't clear the WordCountDirty flag, for nodes that don't contain any plain text. This speeds things up considerably for tdf135116-1.odt, which didn't finish the idle jobs after 5 minutes in an optimized 7.1 build, because the time slice tends to expire iterating nodes in word-count before it can make progress. With this it does ~25 WORD_COUNT pages and then ~90 AUTOCOMPLETE_WORDS pages per idle, sending OnLayoutFinished after 13-14 seconds. jmux just pointed me to commit 0fedac18214a6025401c4c426466a5166553e8ec which is not in 7.1 today and may have improved the performance here. Change-Id: I5e9651da3a173649c49fc36edefb23298dfd6bc4 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/114936 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.st...@allotropia.de> diff --git a/sw/source/core/txtnode/txtedt.cxx b/sw/source/core/txtnode/txtedt.cxx index e734e471060b..853632d30771 100644 --- a/sw/source/core/txtnode/txtedt.cxx +++ b/sw/source/core/txtnode/txtedt.cxx @@ -2023,6 +2023,10 @@ bool SwTextNode::CountWords( SwDocStat& rStat, if( nStt == nEnd && !bCountNumbering) { // unnumbered empty node or empty selection + if (bCountAll) + { + SetWordCountDirty( false ); // reset flag to speed up DoIdleJob + } return false; } @@ -2051,6 +2055,10 @@ bool SwTextNode::CountWords( SwDocStat& rStat, if (aExpandText.isEmpty() && !bCountNumbering) { + if (bCountAll) + { + SetWordCountDirty( false ); // reset flag to speed up DoIdleJob + } return false; } _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits