In calc we have a common pattern based on the old calc core desing to call: CellType eType = pDoc->GetCellType(aPos); switch(eType) { case CELLTYPE_VALUE: nVal = pDoc->GetValue(aPos); break; case CELLTYPE_STRING: aStr = pDoc->GetString(aPos); break; case CELL... } which calls two times with a slow call into mdds. Instead we should use ScRefCellValue which only calls once. The task is to grep for GetCellType in sc/source and find places where we use that pattern and replace it with ScRefCellValue. Examples for similar problems (not directly the same) are: https://cgit.freedesktop.org/cgit/?url=libreoffice/core/commit/sc&id=d9c1921c5031e5b372ee9d8db1e00fe7211cdd31 https://cgit.freedesktop.org/cgit/?url=libreoffice/core/commit/sc&id=4518faa31dec03ffabee30437e6960558a940957 https://cgit.freedesktop.org/cgit/?url=libreoffice/core/commit/sc&id=ee98f0e691e3cf945725a9f1daa90542407e3358 Please note that the pDoc->GetString method actually is more complicated than just returning the OUString instances from the ScRefCellValue and you might need to use ScCellFormat::GetString.
I am working on it.
Aleksas Pantechovskis committed a patch related to this issue. It has been pushed to "master": http://cgit.freedesktop.org/libreoffice/core/commit/?id=1cc2d4115e7e36f01dde759209802e2ac2477117 tdf#98893 Remove expensive calls to GetCellType + GetValue/... in calc It will be available in 5.2.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.
Aleksas Pantechovskis committed a patch related to this issue. It has been pushed to "master": http://cgit.freedesktop.org/libreoffice/core/commit/?id=fa7416a6af4b40d9223c27ce58e66b69bdd53fd1 tdf#98893 Remove expensive calls to GetCellType + GetValue/... in calc It will be available in 5.2.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.
Aleksas Pantechovskis committed a patch related to this issue. It has been pushed to "master": http://cgit.freedesktop.org/libreoffice/core/commit/?id=e3e0ac4d3d3d7f701618358ccbb3d667683c6b20 tdf#98893 Remove expensive calls to GetCellType + GetValue/... in calc It will be available in 5.2.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.
A polite ping still working on this patch ?
As far as I remember I fixed all instances of this issue in sc/source.
Last comment, makes it seem closed.