Bug 89281

Summary: FILEOPEN: fix performance regression of XLS import
Product: LibreOffice Reporter: László Németh <nemeth>
Component: CalcAssignee: Not Assigned <libreoffice-bugs>
Status: RESOLVED WONTFIX    
Severity: normal CC: aron.budea, cno
Priority: medium Keywords: filter:xls, perf
Version: 4.2.5.2 release   
Hardware: Other   
OS: All   
See Also: https://bugs.documentfoundation.org/show_bug.cgi?id=142010
Whiteboard: target:4.5.0 target:4.4.2
Crash report or crash signature: Regression By:
Attachments: kcachegrind profile - base XLS load
kcachegrind profile - optimized XLS load

Description László Németh 2015-02-10 09:23:53 UTC
The fix for Bug 76611 caused ~20% performance degradation in XLS import. With optional cloning of ScTokenArray of the shared XLS formulas, depending from the need of address wrapping, it is possible to gain back near the original performance.
Comment 1 László Németh 2015-02-10 10:09:04 UTC
Created attachment 113284 [details]
kcachegrind profile - base XLS load
Comment 2 László Németh 2015-02-10 10:09:53 UTC
Created attachment 113285 [details]
kcachegrind profile - optimized XLS load
Comment 3 Commit Notification 2015-02-10 10:13:46 UTC
László Németh committed a patch related to this issue.
It has been pushed to "master":

http://cgit.freedesktop.org/libreoffice/core/commit/?id=b18b5b7edf3d14ef5f0efe53e367f88a423088c4

tdf#89281 fix performance regression of XLS import

It will be available in 4.5.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.
Comment 4 László Németh 2015-02-10 10:22:49 UTC
Change of the total cycle estimation cost: 15.4b -> 13.1b (15% saving).
Comment 5 László Németh 2015-02-10 10:38:18 UTC
Note: The original patch for Bug 76611 has already got an unit test, too (see wrapped-refs.xls), and that unit test works with the new performance fix, too.
Comment 6 Commit Notification 2015-02-12 22:52:01 UTC
László Németh committed a patch related to this issue.
It has been pushed to "master":

http://cgit.freedesktop.org/libreoffice/core/commit/?id=ba686b9bd2596811141e4028947334f10799c356

tdf#89281 fix performance regression of XLS import - cleanup

It will be available in 4.5.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.
Comment 7 Commit Notification 2015-02-13 13:15:11 UTC
László Németh committed a patch related to this issue.
It has been pushed to "libreoffice-4-4":

http://cgit.freedesktop.org/libreoffice/core/commit/?id=76610b00b67cf9c4600caed0f4d75d04e825f9d2&h=libreoffice-4-4

tdf#89281 fix performance regression of XLS import

It will be available in 4.4.2.

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.
Comment 8 QA Administrators 2016-02-21 08:34:53 UTC Comment hidden (obsolete)
Comment 9 Cor Nouws 2016-09-06 20:10:08 UTC
@Lászlo: I assumne this one can be set fixed..
Comment 10 László Németh 2021-10-26 08:02:23 UTC
The fix for this issue was reverted, because it changed the performance regression with a serious regression in functionality: editing messed up formulas, see tdf#142010. It's a question, that it's possible to speed up the performance right here, so set the issue to WONTFIX.