Bug 125688 - ODS file with tracking changes enabled is takes 3 times longer to open (compared to without)
Summary: ODS file with tracking changes enabled is takes 3 times longer to open (compa...
Status: NEW
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: Calc (show other bugs)
Version:
(earliest affected)
Inherited From OOo
Hardware: All All
: low minor
Assignee: Not Assigned
URL:
Whiteboard: target:6.4.0
Keywords: perf
Depends on:
Blocks: File-Opening Calc-Track-Changes
  Show dependency treegraph
 
Reported: 2019-06-04 15:19 UTC by Telesto
Modified: 2022-10-23 12:58 UTC (History)
5 users (show)

See Also:
Crash report or crash signature:


Attachments
Flamegraph (144.28 KB, application/x-bzip)
2019-10-27 15:51 UTC, Julien Nabet
Details
perf flamegraph (153.55 KB, application/x-bzip)
2019-10-31 10:18 UTC, Julien Nabet
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Telesto 2019-06-04 15:19:23 UTC
Description:
ODS file with tracking changes enabled is takes 3 times longer to open (compared to without)

Steps to Reproduce:
1. Open attachment 151911 [details] (and monitor time to open)
2. Open attachment 150858 [details] (and monitor time to open)

Actual Results:
15 seconds for attachment 150858 [details] 
45 seconds for attachment 151911 [details] 


Expected Results:
Tracking changes is causing overhead (file size is also larger).. But some optimization would be nice 


Reproducible: Always


User Profile Reset: No



Additional Info:
Version: 6.4.0.0.alpha0+ (x64)
Build ID: 95462a02a3aee1e3e7f9aa8fc50ba25fee3fa592
CPU threads: 4; OS: Windows 6.3; UI render: default; VCL: win; 
TinderBox: Win-x86_64@42, Branch:master, Time: 2019-06-03_07:09:38
Locale: nl-NL (nl_NL); UI-Language: en-US
Calc: CL
Comment 1 Xisco Faulí 2019-06-04 16:15:23 UTC
Just for the record, while testing this issue I found bug 125691
@Telesto, Didn't you reproduce it in master ?
Comment 2 Telesto 2019-06-04 17:00:38 UTC
(In reply to Xisco Faulí from comment #1)
> Just for the record, while testing this issue I found bug 125691
> @Telesto, Didn't you reproduce it in master ?

Nope, but didn't use the command-line timing. Mostly using the CPU graph & Windows of course...
Comment 3 Buovjaga 2019-08-25 14:53:39 UTC
Tested with 5.0.2 and 3.3.0 on Win 10 and looks like this has always been the case. As it is somewhat expected, let's adjust priority and severity.
Comment 4 Julien Nabet 2019-10-27 15:51:40 UTC
Created attachment 155346 [details]
Flamegraph

Here's a Flamegraph retrieved on pc Debian x86-64 with master sources updated today.
Comment 5 Xisco Faulí 2019-10-28 10:09:03 UTC
in

Version: 6.4.0.0.alpha1+
Build ID: c4d760b9edf0399955d30a0dfbe5f7b1b1ed37cb
CPU threads: 4; OS: Linux 4.15; UI render: default; VCL: gtk3; 
Locale: ca-ES (ca_ES.UTF-8); UI-Language: en-US
Calc: threaded

attachment 151911 [details] takes

real	0m59,042s
user	1m18,526s
sys	0m6,609s

@Noel, I thought you might be interested in this issue...
Comment 6 Commit Notification 2019-10-31 06:02:46 UTC
Noel Grandin committed a patch related to this issue.
It has been pushed to "master":

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

tdf#125688 speed up load of change-tracking ODS

It will be available in 6.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 7 Commit Notification 2019-10-31 07:26:43 UTC
Noel Grandin committed a patch related to this issue.
It has been pushed to "master":

https://git.libreoffice.org/core/commit/01a8d79fd76f7e523169c56a22be8ff84d8cd76a

tdf#125688, special-case empty return

It will be available in 6.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 8 Commit Notification 2019-10-31 07:28:07 UTC
Noel Grandin committed a patch related to this issue.
It has been pushed to "master":

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

tdf#125688 remove intermediate OUStringBuffer

It will be available in 6.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 9 Commit Notification 2019-10-31 07:50:13 UTC
Noel Grandin committed a patch related to this issue.
It has been pushed to "master":

https://git.libreoffice.org/core/commit/0dd56a4a745266dcf88d43150ef1d798619ab522

tdf#125688 avoid OUString construction

It will be available in 6.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 10 Commit Notification 2019-10-31 08:35:22 UTC
Noel Grandin committed a patch related to this issue.
It has been pushed to "master":

https://git.libreoffice.org/core/commit/9db70dfdc8d1851415f9d90fc192551178973f43

tdf#125688, deque->vector

It will be available in 6.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 11 Julien Nabet 2019-10-31 10:18:43 UTC
Created attachment 155419 [details]
perf flamegraph

Following Noel's commits, I updated master sources (b141e2a3253a44a4ab59889a8a08060a322540e3) and retrieved a new Flamegraph.
Comment 12 Xisco Faulí 2019-10-31 11:41:31 UTC
(In reply to Xisco Faulí from comment #5)
> in
> 
> Version: 6.4.0.0.alpha1+
> Build ID: c4d760b9edf0399955d30a0dfbe5f7b1b1ed37cb
> CPU threads: 4; OS: Linux 4.15; UI render: default; VCL: gtk3; 
> Locale: ca-ES (ca_ES.UTF-8); UI-Language: en-US
> Calc: threaded
> 
> attachment 151911 [details] takes
> 
> real	0m59,042s
> user	1m18,526s
> sys	0m6,609s
> 
> @Noel, I thought you might be interested in this issue...

For some reason, the same exact commit takes

real	3m10,245s
user	4m12,132s
sys	0m23,611s

today to open the file. Why? who knows... meanwhile, it takes

real	2m36,591s
user	3m45,850s
sys	0m17,595s

in

Version: 6.4.0.0.alpha1+
Build ID: 2d0a4182712673d8f7a5abe919cd2a1d5ece4a77
CPU threads: 4; OS: Linux 4.15; UI render: default; VCL: gtk3; 
Locale: ca-ES (ca_ES.UTF-8); UI-Language: en-US
Calc: threaded

which is a ~20% improved
Comment 13 Commit Notification 2019-10-31 17:55:16 UTC
Noel Grandin committed a patch related to this issue.
It has been pushed to "master":

https://git.libreoffice.org/core/commit/09758c0e717a9ff31b004532906f902763300a93

tdf#125688, better sizing for some OUStringBuffer

It will be available in 6.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 14 Commit Notification 2019-10-31 17:55:28 UTC
Noel Grandin committed a patch related to this issue.
It has been pushed to "master":

https://git.libreoffice.org/core/commit/885ae558d34dd76955c727b90eb9ae52ce85df7f

tdf#125688, cache token names as OUString

It will be available in 6.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 15 Commit Notification 2019-11-06 19:30:17 UTC
Noel Grandin committed a patch related to this issue.
It has been pushed to "master":

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

tdf#125688 removing XWeak support from SvXMLImportContext

It will be available in 6.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 16 Roman Kuznetsov 2022-10-23 12:58:37 UTC
10 sec for attachment 150858 [details] opening
25 sec for attachment 151911 [details] opening 

Version: 7.5.0.0.alpha0+ (x64) / LibreOffice Community
Build ID: 9d1d668a608cc5b406601c2f7f3d8581e8f47d1c
CPU threads: 4; OS: Windows 10.0 Build 19043; UI render: Skia/Raster; VCL: win
Locale: ru-RU (ru_RU); UI: ru-RU
Calc: threaded

Telesto, could you please retest it yourself on your PC?