Bug 149112 - Showing subtotals dialog takes long time with 16K columns
Summary: Showing subtotals dialog takes long time with 16K columns
Status: RESOLVED FIXED
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: Calc (show other bugs)
Version:
(earliest affected)
unspecified
Hardware: All All
: medium normal
Assignee: Not Assigned
URL:
Whiteboard: target:7.4.0
Keywords:
Depends on:
Blocks: Calc-large-spreadsheets
  Show dependency treegraph
 
Reported: 2022-05-16 16:54 UTC by Mike Kaganski
Modified: 2022-05-17 05:38 UTC (History)
2 users (show)

See Also:
Crash report or crash signature:
Regression By:


Attachments
tdf88735.ods (20.73 KB, application/vnd.oasis.opendocument.spreadsheet)
2022-05-16 16:54 UTC, Mike Kaganski
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Mike Kaganski 2022-05-16 16:54:33 UTC
Created attachment 180139 [details]
tdf88735.ods

Running subtotals.Subtotals.test_tdf88735 UITest takes long time for me locally with current master.

Trying to reproduce its steps in UI:

1. Open sc/qa/uitest/data/tdf88735.ods (attached) in Calc
2. Select all (Ctrl+A)
3. Data->Subtotals...

Using the optimized Version: 7.3.3.2 (x64) / LibreOffice Community
Build ID: d1d0ea68f081ee2800a922cac8f79445e4603348
CPU threads: 12; OS: Windows 10.0 Build 19044; UI render: Skia/Raster; VCL: win
Locale: ru-RU (ru_RU); UI: en-US
Calc: CL Jumbo

It opens quickly without large sheets, but takes rather long (~50 s) with the large sheet support.

With dbgutil master build (also on Windows):

> $ time make UITest_sort UITEST_TEST_NAME=subtotals.Subtotals.test_tdf88735
> real    12m23.589s
> user    0m0.015s
> sys     0m0.000s
Comment 1 Mike Kaganski 2022-05-16 16:57:06 UTC
I realize that using Ctrl+A might look like a user error, but I suppose it's not something unthinkable in real-life usage :-)
Comment 2 Commit Notification 2022-05-17 05:37:53 UTC
Luboš Luňák committed a patch related to this issue.
It has been pushed to "master":

https://git.libreoffice.org/core/commit/5bf7058f4959ce0cf217817d2b5a30b81c4a7ff9

std::map -> std::unordered_map (tdf#149112)

It will be available in 7.4.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.
Comment 3 Commit Notification 2022-05-17 05:38:01 UTC
Luboš Luňák committed a patch related to this issue.
It has been pushed to "master":

https://git.libreoffice.org/core/commit/ea980b36a7b48a3c9c17cf08d15c5f4f27f79942

freeze() and thaw() a widget during creation (tdf#149112)

It will be available in 7.4.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.