Noel moved the xlsx import code from oox to sc which allows us to use calc core methods directly and therefore get much better performance. We should start by moving some of the more important parts to direct calls. Good starting points are range name import, database range import, cell value/string import, ... The source code for xlsx import is now in http://opengrok.libreoffice.org/xref/core/sc/source/filter/oox/ It is a good idea to check how the corresponding ods import is done at http://opengrok.libreoffice.org/xref/core/sc/source/filter/xml/
Hi, Markus, Per my IRC conversation with you and Kohei, I'll be looking into this.
I have submitted a patch to the mailing list that partially addresses this EasyHack. More patches will be forthcoming.
Deteted "Easyhack" from summary
Just a note (previous commit regarding this bug): Converting UNO calls to direct in WorkbookHelper http://cgit.freedesktop.org/libreoffice/core/commit/?id=f892be678a036cd0fea665eda529e9cc906e0cfa
adding LibreOffice developer list as CC to unresolved EasyHacks for better visibility. see e.g. http://nabble.documentfoundation.org/minutes-of-ESC-call-td4076214.html for details
This bug is confirmed but unowned - back to NEW.
Adding self to CC if not already on
Migrating Whiteboard tags to Keywords: (easyHack, difficultyBeginner, skillCpp) [NinjaEdit]
JanI is default CC for Easy Hacks (Add Jan; remove LibreOffice Dev List from CC) [NinjaEdit]
I would like to convert UNO calls for uno::Reference<sheet::XDatabaseRange>. How I could find corresponding methods/class names, which I could use as a replacement of XDatabaseRange ?
(In reply to Bartosz Kosiorek from comment #10) > I would like to convert UNO calls for uno::Reference<sheet::XDatabaseRange>. > How I could find corresponding methods/class names, which I could use as a > replacement of XDatabaseRange ? So to show how to find the correct method I will give all the steps that I would take. We assume that the implementation for XDatabaseRange is in calc (directory sc) so we use git grep XDatabaseRange -- sc/source/ui/unoobj/ because sc/source/ui/unoobj contains nearly all the calc UNO implementations. Based on the results we see that there is a ScDatabaseRangeObj class in datauno.cxx and based on the name we can be quite sure that it is the implementation. Looking around in the file we find the ScDatabaseRangeObj::GetDBData_Impl which shows us how the information is stored in the model. The class is ScDBData and there seem to be two different types: bIsUnnamed and named ones.
Thanks Markus. I just created review to remove no longer needed headers to decrease compilation time: https://gerrit.libreoffice.org/#/c/26001/ Could you please take a look?
It seems that XDatabaseRange is a little bit complicated for the first task. @Markus Is there anything easier to migrate?
Bartosz Kosiorek committed a patch related to this issue. It has been pushed to "master": http://cgit.freedesktop.org/libreoffice/core/commit/?id=e044eafc485ef29a68b3a8e0e7c75b372ebb1ac9 tdf#48140 Remove unused headers from xlsx import to improve build performance It will be available in 5.3.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.
Seem solved
There is still several UNO call which should be replaced with direct calls. eg. XDatabaseRange
Bartosz Kosiorek committed a patch related to this issue. It has been pushed to "master": http://cgit.freedesktop.org/libreoffice/core/commit/?id=e1078f21d6e0faf93b22cb8e8af2a91c0b16071d tdf#48140 Replace CellAddress uno calls with direct access It will be available in 5.3.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.
Bartosz Kosiorek committed a patch related to this issue. It has been pushed to "master": http://cgit.freedesktop.org/libreoffice/core/commit/?id=f6e6a6139e90d6e88fb65308e8592193ac602a8a tdf#48140 Replace uno CellRangeAddress and CellAddress with direct calls It will be available in 5.3.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.
Bartosz Kosiorek committed a patch related to this issue. It has been pushed to "master": http://cgit.freedesktop.org/libreoffice/core/commit/?id=597f7b1f02be79f2443230c963b6d1bb594cffa0 tdf#48140 Replace uno call from worksheethelper.cxx It will be available in 5.3.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.
Bartosz Kosiorek committed a patch related to this issue. It has been pushed to "master": http://cgit.freedesktop.org/libreoffice/core/commit/?id=50106435e9a5bbc067e9beeabc5147ed9f305286 tdf#48140 Change types of variables and remove uneeded code It will be available in 5.3.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.
Bartosz Kosiorek committed a patch related to this issue. It has been pushed to "master": http://cgit.freedesktop.org/libreoffice/core/commit/?id=b0c3665b2a74256e8dca9743073c668df30839b4 tdf#48140 Replace uno with direct calls It will be available in 5.4.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.
Obviously this does not qualify as a performance issue.
Apologies that I didn't get your initial comment right.
Bartosz Kosiorek committed a patch related to this issue. It has been pushed to "master": http://cgit.freedesktop.org/libreoffice/core/commit/?id=ad129cda465d7d16130469eb9e232e9e8ce53d58 tdf#48140 Replace uno with direct calls It will be available in 5.4.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.
Eike Rathke committed a patch related to this issue. It has been pushed to "master": http://cgit.freedesktop.org/libreoffice/core/commit/?id=c038d88c228bb2f4d0dde88f59ee4b9c6620687e ScAddress::operator<() is not what we need here, tdf#48140 follow-up fix It will be available in 5.4.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.
Jochen Nitschke committed a patch related to this issue. It has been pushed to "master": http://cgit.freedesktop.org/libreoffice/core/commit/?id=9efa11a1090ab088c64a26dacea5d6f40d7878e6 tdf#48140 replace CellRangeAddress in xlsx import (1) It will be available in 5.4.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.
Jochen Nitschke committed a patch related to this issue. It has been pushed to "master": http://cgit.freedesktop.org/libreoffice/core/commit/?id=77dc03c29501234bb07170004a7b8204987bad0c tdf#48140 replace CellRangeAddress in xlsx import (2) It will be available in 5.4.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.
Jochen Nitschke committed a patch related to this issue. It has been pushed to "master": http://cgit.freedesktop.org/libreoffice/core/commit/?id=2f9a7c1826cd1233986c97ad840136fd4ed43bca tdf#48140 replace CellRangeAddress in xlsx import (3) It will be available in 5.4.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.
Jochen Nitschke committed a patch related to this issue. It has been pushed to "master": http://cgit.freedesktop.org/libreoffice/core/commit/?id=a4b7a2475d33311fef16197bf6a945ad5121fc8e tdf#48140 replace CellRangeAddress in xlsx import (4) It will be available in 5.4.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.
Jochen Nitschke committed a patch related to this issue. It has been pushed to "master": http://cgit.freedesktop.org/libreoffice/core/commit/?id=152e2e9211ce993f365004bf9caf9ea85269489f tdf#48140 replace CellRangeAddress in xlsx import (5) It will be available in 5.4.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.
Jochen Nitschke committed a patch related to this issue. It has been pushed to "master": http://cgit.freedesktop.org/libreoffice/core/commit/?id=470ea0a7ae1874064b09c711ee0a54f1a82ebfda tdf#48140 replace CellRangeAddress in xlsx import (6)&(7) It will be available in 5.4.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.
Jochen Nitschke committed a patch related to this issue. It has been pushed to "master": http://cgit.freedesktop.org/libreoffice/core/commit/?id=99577bfa80cb926ff9a1710905036e2d09747ddb tdf#48140 replace CellRangeAddress in xlsx import (8) It will be available in 5.4.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.
Jochen Nitschke committed a patch related to this issue. It has been pushed to "master": http://cgit.freedesktop.org/libreoffice/core/commit/?id=a1a44eb3b305f1aad77b0cc1532c98016482f620 tdf#48140 replace CellRangeAddress in xlsx import (9) It will be available in 5.4.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.
Jochen Nitschke committed a patch related to this issue. It has been pushed to "master": http://cgit.freedesktop.org/libreoffice/core/commit/?id=c5c9b888d8d0c414a3b27619a6df9adfebf4f77f tdf#48140 replace CellRangeAddress in xlsx import (10) It will be available in 5.4.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.
Jochen Nitschke committed a patch related to this issue. It has been pushed to "master": http://cgit.freedesktop.org/libreoffice/core/commit/?id=b144ec03020b9d717bd7ccad0e6e4c84aa3f9898 tdf#48140 replace CellRangeAddress in xlsx import (11) It will be available in 5.4.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.
Jochen Nitschke committed a patch related to this issue. It has been pushed to "master": http://cgit.freedesktop.org/libreoffice/core/commit/?id=4c53e17d47bea97168bd07630ccf781639dd03d1 tdf#48140 replace CellRangeAddress in xlsx import (12) It will be available in 5.4.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.
Jochen Nitschke committed a patch related to this issue. It has been pushed to "master": http://cgit.freedesktop.org/libreoffice/core/commit/?id=0ab8a27244e74e1c0916b3737f15c6c949aead78 tdf#48140 replace CellRangeAddress in xlsx import (13) It will be available in 5.4.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.
Seems solved, if not it would be nice to see what is still open.
Jochen Nitschke committed a patch related to this issue. It has been pushed to "master": http://cgit.freedesktop.org/libreoffice/core/commit/?id=e316c4f2a40a4a562028f0a66c40321ffdf87378 tdf#48140 replace CellAddress in xlsx import (1) It will be available in 5.4.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.
Jochen Nitschke committed a patch related to this issue. It has been pushed to "master": http://cgit.freedesktop.org/libreoffice/core/commit/?id=34006130756be2cec73a623cf65b3e71493276a1 tdf#48140 replace CellAddress in xlsx import (2) It will be available in 5.4.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.
Jochen Nitschke committed a patch related to this issue. It has been pushed to "master": http://cgit.freedesktop.org/libreoffice/core/commit/?id=88f561204d7cee25633df8117cc8d7e1ebd8e9ad tdf#48140 replace CellAddress in xlsx import (3) It will be available in 5.4.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.
Jochen Nitschke committed a patch related to this issue. It has been pushed to "master": http://cgit.freedesktop.org/libreoffice/core/commit/?id=58c5a9de2a0b985ef81557271db39c56ceb624f9 tdf#48140 replace CellAddress in xlsx import (4) It will be available in 5.4.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.
Jochen Nitschke committed a patch related to this issue. It has been pushed to "master": http://cgit.freedesktop.org/libreoffice/core/commit/?id=5e0e27e758e6f7fa325f36e6e51540e10bab0fdc tdf#48140 replace CellRangeAddress in xlsx import (14) It will be available in 5.4.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.
Jochen Nitschke committed a patch related to this issue. It has been pushed to "master": http://cgit.freedesktop.org/libreoffice/core/commit/?id=98f2431d3bba2004174673294e28bf208bf9939e tdf#48140 replace CellRangeAddress in xlsx import (15) It will be available in 5.4.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.
Jochen Nitschke committed a patch related to this issue. It has been pushed to "master": http://cgit.freedesktop.org/libreoffice/core/commit/?id=5c6b81622530e708b2bb7901bcc531212a6ef72e tdf#48140 replace ApiCellRangeList in xlsx import (1) It will be available in 5.4.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.
Jochen Nitschke committed a patch related to this issue. It has been pushed to "master": http://cgit.freedesktop.org/libreoffice/core/commit/?id=ff08e8d5618f84366439c6f48bd7c5f3062905a3 tdf#48140 replace ApiCellRangeList in xlsx import (2) It will be available in 5.4.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.
Jochen Nitschke committed a patch related to this issue. It has been pushed to "master": http://cgit.freedesktop.org/libreoffice/core/commit/?id=7c73c4605bb75b288e186b5de0ca12da1724353e tdf#48140 replace ApiCellRangeList in xlsx import (3) It will be available in 5.4.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.
Jochen Nitschke committed a patch related to this issue. It has been pushed to "master": http://cgit.freedesktop.org/libreoffice/core/commit/?id=ff407afbb5b121228879a3323c5be12ce2750e1a tdf#48140 replace CellRangeAddress in xlsx import (16) It will be available in 5.4.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.
Jochen Nitschke committed a patch related to this issue. It has been pushed to "master": http://cgit.freedesktop.org/libreoffice/core/commit/?id=cb71dc9d36779c32733cd0497d9d799c6608888b tdf#48140 replace ApiCellRangeList in xlsx import (4) It will be available in 5.4.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.
Jochen Nitschke committed a patch related to this issue. It has been pushed to "master": http://cgit.freedesktop.org/libreoffice/core/commit/?id=1e7947401773b33a1e6072dd60ab681b2ad87800 tdf#48140 replace ApiCellRangeList in xlsx import (5) It will be available in 5.4.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.
Bartosz Kosiorek committed a patch related to this issue. It has been pushed to "master": http://cgit.freedesktop.org/libreoffice/core/commit/?id=b51bc85cd2ded95668cfcacdb8a2a4a388fe51f4 tdf#48140 Replace CellRangeAddress with ScRange It will be available in 5.4.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.
Changing to difficultyInteresting per IRC comments
Dear Advait Ranade, This bug has been in ASSIGNED status for more than 3 months without any activity. Resetting it to NEW. Please assign it back to yourself if you're still working on this.
I would like to work upon this hack but it is assigned. Any information or tips how to start working on this?
Is this bug still on? Are there any uno calls which should be replaced with direct calls?
seturaj committed a patch related to this issue. It has been pushed to "master": https://git.libreoffice.org/core/commit/ee5d1ac729f0e8521792a04d6bb35538cb0cd0b7 tdf#48140: Remove unused headers from xlsx import It will be available in 24.8.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.