Description: Lots of CPU time needed reducing for reducing the column width Steps to Reproduce: 1. Open attachment 144815 [details] 2. Change the column width to 15 Actual Results: Time taking to process: 1:30 Expected Results: Around 20 seconds or less? Reproducible: Always User Profile Reset: No Additional Info: Version: 6.2.0.0.alpha0+ Build ID: 7d242f3bd7277236046f90d3f32b9792fd8ea97b CPU threads: 4; OS: Windows 6.3; UI render: default; TinderBox: Win-x86@42, Branch:master, Time: 2018-09-18_23:43:19 Locale: nl-NL (nl_NL); Calc: CL
Created attachment 145054 [details] Example file Similar behavior when pasting large amounts of text 1. Open the attached file 2. CTRL+A + CTRL+V 3. CTRL+END 4. And press CTRL+V to wait (again) Most time spend in: rtl_ustr_compare_WithLength
Two regressions: Between Version: 6.2.0.0.alpha0+ Build ID: 1aa37aa6bee19099b57555a6d839992b054aa405 CPU threads: 4; OS: Windows 6.3; UI render: default; TinderBox: Win-x86@42, Branch:master, Time: 2018-09-23_10:17:54 Locale: nl-NL (nl_NL); Calc: CL and Version: 6.1.0.0.beta2+ Build ID: 22c451df33b733440f24c1feb6380d31240d55e6 CPU threads: 4; OS: Windows 6.3; UI render: default; Locale: nl-NL (nl_NL); Calc: CL 38 seconds in LibO 6.1 1:30 in LibO6.2 --- Between Versie: 4.1.0.4 Build ID: 89ea49ddacd9aa532507cbf852f2bb22b1ace28 and Versie 4.0.0.3 (Bouw-id: 7545bee9c2a0782548772a21bc84a9dcc583b89) 30 seconds 100% processing versus +/- 50% processing
Bisected to: author Miklos Vajna <vmiklos@collabora.co.uk> 2018-08-31 18:19:12 +0200 committer Miklos Vajna <vmiklos@collabora.co.uk> 2018-09-03 09:13:32 +0200 commit aeff83240c88435d11590f5e9c6fe9927a508c6a (patch) tree a3b918a7d3164ee428a4df39df7118a87618dfd9 parent 08b5048198d59441cb8033ed14cd17e68c943004 (diff) sw: save more vcl layout calls in SwFntObj This builds on top of commit 436b829f5b904d76039db0818cff5dedf1ae89f1 (sw: save one vcl layout call in SwFntObj::DrawText(), 2018-08-16), but now layouts are shared not only inside SwFntObj::DrawText(), but also between SwFntObj::GetTextSize() and SwFntObj::DrawText(). To get there, create an SwFntObj cache member that stores already calculated vcl layouts. SwFntObj already derives from SwCacheObj, so no need to explicitly expire this cache member. Total number of GenericSalLayout::LayoutText() invocations go down from 8 to 5 with this when pressing a key in Writer. https://cgit.freedesktop.org/libreoffice/core/commit/?id=aeff83240c88435d11590f5e9c6fe9927a508c6a
A conformation would be nice :-)
(In reply to Telesto from comment #4) > A conformation would be nice :-) I believe I can confirm. Adding Cc: to Miklos Vajna Arch Linux 64-bit Version: 6.2.0.0.alpha0+ Build ID: 88e26267844ac96f39d341ef05bd1536f210af74 CPU threads: 8; OS: Linux 4.18; UI render: default; VCL: gtk3_kde5; Locale: fi-FI (fi_FI.UTF-8); Calc: threaded Built on 25 September 2018
> Change the column width to 15 Could you be more precise, please? The document has 738 pages and it's of a single column, so what do you do exactly? Thanks.
(In reply to Miklos Vajna from comment #6) > > Change the column width to 15 > > Could you be more precise, please? The document has 738 pages and it's of a > single column, so what do you do exactly? Thanks. Table column was meant. Right-click table - Columns - input 15 to field 1. "Reducing" is the wrong word here.
Oh, I missed that the description talks about one bugdoc and the only attachment to this bug is an other bugdoc. That confused me. :-)
*** Bug 120442 has been marked as a duplicate of this bug. ***
Created attachment 145657 [details] Measure patch. Attaching a patch that allows a reliable way to measure the time spent between closing the table properties the dialog and layout reaching idle state.
Miklos Vajna committed a patch related to this issue. It has been pushed to "master": http://cgit.freedesktop.org/libreoffice/core/commit/?id=c7b83934fcf4120c1a4cba8e1eaf9c7aef9edc82 tdf#119992 sw: compare sub-strings in SwTextGlyphsKey comparison It will be available in 6.2.0. The patch should be included in the daily builds available at http://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More information about daily builds can be found at: http://wiki.documentfoundation.org/Testing_Daily_Builds Affected users are encouraged to test the fix and report feedback.
Verified in Version: 6.2.0.0.alpha0+ Build ID: 647fc41763d1310479d59262734caa296f6e558d CPU threads: 4; OS: Linux 4.15; UI render: default; VCL: gtk3; Locale: en-US (ca_ES.UTF-8); Calc: threaded it takes ~20 seconds now. @Miklos, thanks for fixing this!!