Description: Saving a ODS with plenty of comments very slow; massive amount of CPU time spend in SfxItemPool::GetItemSurrogates(std::__1::vector<SfxPoolItem const*, std::__1::allocator<SfxPoolItem const*>>&, unsigned short) const Steps to Reproduce: 1. Open attachment 144526 [details] (bug 119075) 2. Press save... no progress bar or anything, but using single core Actual Results: Very slow . There where already perf issues: bug 119075 bug 125619 bug 131675. However it becomes incrementally worse in different area's Expected Results: A more snappy experience Reproducible: Always User Profile Reset: No Additional Info: Version: 25.2.0.0.alpha0+ (X86_64) / LibreOffice Community Build ID: 9c1a48f844eaefc505a5914338b6f444011bf315 CPU threads: 8; OS: macOS 14.3; UI render: Skia/Raster; VCL: osx Locale: nl-NL (nl_NL.UTF-8); UI: en-US Calc: threaded
Possible of relevance https://gerrit.libreoffice.org/c/core/+/162254
The underlaying issue might be https://cgit.freedesktop.org/libreoffice/core/commit/?id=018500a73f3b1082b6662b7c123dfe5158ae5752 (mentioned in bug 131675 comment 10)
Same on Windows Version: 25.2.0.0.alpha0+ (X86_64) / LibreOffice Community Build ID: c39e4f6b8a942680bc7250177c34fd034a0605e0 CPU threads: 4; OS: Windows 8.1 X86_64 (6.3 build 9600); UI render: Skia/Raster; VCL: win Locale: nl-NL (nl_NL); UI: en-US Calc: CL threaded
Saving slow, but faster with Version: 7.6.3.0.0+ (X86_64) / LibreOffice Community Build ID: 35f19e5cb93ce218787904e99c2bedfd40e725cc CPU threads: 4; OS: Windows 6.3 Build 9600; UI render: Skia/Raster; VCL: win Locale: nl-NL (nl_NL); UI: en-US Calc: CL threaded File open performance is also faster with Version: 7.6.3.0.0+
Same effect with attachment 144526 [details] (also comments) when changing sheet order by dragging and dropping
@Noel Only for consideration matters after seeing the thread at https://gerrit.libreoffice.org/c/core/+/170496 ("speed up fetching surrogate entries") I want to point at there might be more perf penalty's with the "surrogate system." At least I think so based on my very basic perf profile experience.. Note: I'm unable to tell if the surrogate entries as such adding a new layer of issues or simply exposing pre-existing design flaws in this specific case
Reproduced in: Version: 25.2.0.0.alpha0+ (X86_64) / LibreOffice Community Build ID: bbd5079c58e352ece8f10328f8dcda9819c4cfbe CPU threads: 8; OS: Linux 6.5; UI render: default; VCL: gtk3 Locale: en-AU (en_AU.UTF-8); UI: en-US Calc: CL threaded Added text in a single cell, saved as with different name, hangs for minutes. I killed it after 5 minutes.
Noel Grandin committed a patch related to this issue. It has been pushed to "master": https://git.libreoffice.org/core/commit/ac41bc3c908c815cf9725b6316d0537d43401ddb tdf#161846 remove one layout operations (ii) It will be available in 25.2.0. The patch should be included in the daily builds available at https://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More information about daily builds can be found at: https://wiki.documentfoundation.org/Testing_Daily_Builds Affected users are encouraged to test the fix and report feedback.
Noel Grandin committed a patch related to this issue. It has been pushed to "master": https://git.libreoffice.org/core/commit/c39978f41dccbeb2e973c919a67d9b1d974f8f3c tdf#161846 use unordered_map in SfxItemPropertyMap It will be available in 25.2.0. The patch should be included in the daily builds available at https://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More information about daily builds can be found at: https://wiki.documentfoundation.org/Testing_Daily_Builds Affected users are encouraged to test the fix and report feedback.
Noel Grandin committed a patch related to this issue. It has been pushed to "master": https://git.libreoffice.org/core/commit/78ff4793f9ad45d84f923686095acb670e7a3ea0 tdf#161846 remove one layout operation (i) It will be available in 25.2.0. The patch should be included in the daily builds available at https://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More information about daily builds can be found at: https://wiki.documentfoundation.org/Testing_Daily_Builds Affected users are encouraged to test the fix and report feedback.
Noel Grandin committed a patch related to this issue. It has been pushed to "master": https://git.libreoffice.org/core/commit/426adcbadc66fd79859e50ddc0064e899fc019e3 tdf#161846 remove one layout operations (iv) It will be available in 25.2.0. The patch should be included in the daily builds available at https://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More information about daily builds can be found at: https://wiki.documentfoundation.org/Testing_Daily_Builds Affected users are encouraged to test the fix and report feedback.
Noel Grandin committed a patch related to this issue. It has been pushed to "master": https://git.libreoffice.org/core/commit/510d3585d22d4a6bbaad9832141b5a3005c0c626 tdf#161846 remove one layout operations (iii) It will be available in 25.2.0. The patch should be included in the daily builds available at https://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More information about daily builds can be found at: https://wiki.documentfoundation.org/Testing_Daily_Builds Affected users are encouraged to test the fix and report feedback.
Noel Grandin committed a patch related to this issue. It has been pushed to "master": https://git.libreoffice.org/core/commit/8ab44b114c6706ab2e3d8a19884daeb544d3c2e1 tdf#161846 avoid allocation in ContentNode::Insert It will be available in 25.2.0. The patch should be included in the daily builds available at https://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More information about daily builds can be found at: https://wiki.documentfoundation.org/Testing_Daily_Builds Affected users are encouraged to test the fix and report feedback.
Noel Grandin committed a patch related to this issue. It has been pushed to "master": https://git.libreoffice.org/core/commit/24a0ecfc9c8d76dc2af6a44212d5a0a6ed6ffe6b tdf#161846 reduce re-alloc in ImpEditEngine::GetSelected It will be available in 25.2.0. The patch should be included in the daily builds available at https://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More information about daily builds can be found at: https://wiki.documentfoundation.org/Testing_Daily_Builds Affected users are encouraged to test the fix and report feedback.
Noel Grandin committed a patch related to this issue. It has been pushed to "master": https://git.libreoffice.org/core/commit/9bf97034601af0fd679a2d4349b6ac31be5e315d tdf#161846 remove one layout operations (v) It will be available in 25.2.0. The patch should be included in the daily builds available at https://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More information about daily builds can be found at: https://wiki.documentfoundation.org/Testing_Daily_Builds Affected users are encouraged to test the fix and report feedback.
Noel Grandin committed a patch related to this issue. It has been pushed to "master": https://git.libreoffice.org/core/commit/952ded08943731b6e367d7a2b7a54ee7f35464a8 tdf#161846 no need to CloneAsValue() here It will be available in 25.2.0. The patch should be included in the daily builds available at https://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More information about daily builds can be found at: https://wiki.documentfoundation.org/Testing_Daily_Builds Affected users are encouraged to test the fix and report feedback.
Noel Grandin committed a patch related to this issue. It has been pushed to "master": https://git.libreoffice.org/core/commit/523a46c3a4df0bf9007f1665a115cc33d610bd73 tdf#161846 reduce number of PropertySetInfo objects It will be available in 25.2.0. The patch should be included in the daily builds available at https://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More information about daily builds can be found at: https://wiki.documentfoundation.org/Testing_Daily_Builds Affected users are encouraged to test the fix and report feedback.
This is now down to < 20s on my machine
UI becomes responsive after 13 secs with the latest commits. I tried with 25.2 bibisect repo and UI was still unresponsive at 2 min 30 sec when I killed the process. Version: 25.2.0.0.alpha0+ (X86_64) / LibreOffice Community Build ID: 07d357756922e35220a924dab82d315fea22cecb CPU threads: 8; OS: Linux 6.10; UI render: default; VCL: kf6 (cairo+wayland) Locale: fi-FI (fi_FI.UTF-8); UI: en-US Calc: CL threaded
Noel Grandin committed a patch related to this issue. It has been pushed to "master": https://git.libreoffice.org/core/commit/8118d1be1be11e8c8c70a0a12da25f0fb3c250f1 tdf#161846 use more GetItemSurrogatesForItem It will be available in 25.2.0. The patch should be included in the daily builds available at https://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More information about daily builds can be found at: https://wiki.documentfoundation.org/Testing_Daily_Builds Affected users are encouraged to test the fix and report feedback.
Noel Grandin committed a patch related to this issue. It has been pushed to "master": https://git.libreoffice.org/core/commit/1a26552de2e692f205695e581166f5eeca67b100 tdf#161846 only need to get the local time once It will be available in 25.2.0. The patch should be included in the daily builds available at https://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More information about daily builds can be found at: https://wiki.documentfoundation.org/Testing_Daily_Builds Affected users are encouraged to test the fix and report feedback.