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.
Created attachment 112807 [details] kcachegrind profile/overhead of the original function
Created attachment 112808 [details] kcachegrind profile of the optimization
Submitted patch: https://gerrit.libreoffice.org/#/c/14187/
Created attachment 112818 [details] kcachegrind profile of the OStringBuffer version
Created attachment 112826 [details] kcachegrind profile - OStringBuffer version cleanup
Created attachment 112827 [details] kcachegrind profile - OStringBuffer version cleanup
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.
Created attachment 112943 [details] screen shot: ~5% optimization in the total cost of the XLSX saving