Bug 148014 - Populating track changes manage dialog spends lots of time spend in SvListView::GetViewData/ SvListView::IsExpanded (can take minutes until finished)
Summary: Populating track changes manage dialog spends lots of time spend in SvListVie...
Status: NEW
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: UI (show other bugs)
Version:
(earliest affected)
7.4.0.0 alpha0+
Hardware: All All
: medium normal
Assignee: Not Assigned
URL:
Whiteboard:
Keywords: perf
Depends on:
Blocks: Track-Changes
  Show dependency treegraph
 
Reported: 2022-03-15 16:50 UTC by Telesto
Modified: 2022-12-21 12:01 UTC (History)
2 users (show)

See Also:
Crash report or crash signature:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Telesto 2022-03-15 16:50:04 UTC
Description:
Populating track changes manage spends lots of time spend in SvListView::GetViewData/ SvListView::IsExpanded (can take minutes until finished)

Steps to Reproduce:
1. Open attachment 167028 [details]
2. Edit -> Track changes -> Manage

Actual Results:
Takes lot of time to populate

Expected Results:
Slightly faster


Reproducible: Always


User Profile Reset: No



Additional Info:
Version: 7.4.0.0.alpha0+ (x64) / LibreOffice Community
Build ID: 3ccc4c123f5e78e0204d11abeab2d1a74278ca3e
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 Jumbo

similar behaviour in
4.4.7.2
Comment 1 Telesto 2022-03-15 17:00:37 UTC
@Caolan
You did some work on this in the past IIRC, so you might be interested 

I'm boldly guessing that SvList being populated over and over to add each entry separately . Instead of first building a list of all changes and populating the dialog once.
Comment 2 Buovjaga 2022-12-21 12:01:31 UTC
Reproduced. Took over a minute.

Version: 7.5.0.0.alpha0+ (X86_64) / LibreOffice Community
Build ID: 9cd0f4c2d25462feba0ffcbd906c199273821243
CPU threads: 8; OS: Linux 6.0; UI render: default; VCL: kf5 (cairo+xcb)
Locale: fi-FI (fi_FI.UTF-8); UI: en-US
Calc: threaded