Bug 88810 - FILESAVE: avoid unnecessary massive OUString/OString allocations in XLSX export
Summary: FILESAVE: avoid unnecessary massive OUString/OString allocations in XLSX export
Status: RESOLVED FIXED
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: Calc (show other bugs)
Version:
(earliest affected)
unspecified
Hardware: Other All
: medium normal
Assignee: Not Assigned
URL:
Whiteboard: target:4.5.0 target:4.4.1
Keywords:
Depends on:
Blocks:
 
Reported: 2015-01-26 14:42 UTC by László Németh
Modified: 2015-02-03 00:35 UTC (History)
0 users

See Also:
Crash report or crash signature:


Attachments
kcachegrind profile/overhead of the original function (257.76 KB, image/png)
2015-01-26 14:58 UTC, László Németh
Details
kcachegrind profile of the optimization (261.28 KB, image/png)
2015-01-26 15:01 UTC, László Németh
Details
kcachegrind profile of the OStringBuffer version (261.45 KB, image/png)
2015-01-27 07:44 UTC, László Németh
Details
kcachegrind profile - OStringBuffer version cleanup (235.34 KB, image/png)
2015-01-27 14:11 UTC, László Németh
Details
kcachegrind profile - OStringBuffer version cleanup (235.34 KB, image/png)
2015-01-27 14:12 UTC, László Németh
Details
screen shot: ~5% optimization in the total cost of the XLSX saving (233.34 KB, image/png)
2015-01-30 08:58 UTC, László Németh
Details

Note You need to log in before you can comment on or make changes to this bug.
Description László Németh 2015-01-26 14:42:30 UTC
During the export of an OOXML file, creating the simple A1-like addresses of cells are solved by (for example, million unnecessary) OUString and OString allocations, resulting noticeable overhead.
Comment 1 László Németh 2015-01-26 14:58:59 UTC
Created attachment 112807 [details]
kcachegrind profile/overhead of the original function
Comment 2 László Németh 2015-01-26 15:01:33 UTC
Created attachment 112808 [details]
kcachegrind profile of the optimization
Comment 3 László Németh 2015-01-26 15:44:20 UTC
Submitted patch: https://gerrit.libreoffice.org/#/c/14187/
Comment 4 László Németh 2015-01-27 07:44:58 UTC
Created attachment 112818 [details]
kcachegrind profile of the OStringBuffer version
Comment 5 László Németh 2015-01-27 14:11:13 UTC
Created attachment 112826 [details]
kcachegrind profile - OStringBuffer version cleanup
Comment 6 László Németh 2015-01-27 14:12:27 UTC
Created attachment 112827 [details]
kcachegrind profile - OStringBuffer version cleanup
Comment 7 Commit Notification 2015-01-30 08:02:06 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=99674f754323ca78ac45499439b9983b31ebd444

tdf#88810 cleanup (append() for number to string conv.)

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 8 László Németh 2015-01-30 08:58:16 UTC
Created attachment 112943 [details]
screen shot: ~5% optimization in the total cost of the XLSX saving