Created attachment 81396 [details] test extension once the object catalog has been displayed (and even when hidden again), switching from a module tab to another takes many seconds on big extension commenting this line, all becomes reactive http://opengrok.libreoffice.org/xref/core/basctl/source/basicide/basides1.cxx#1035 filtering by if ( aObjectCatalog.IsVisible() ) does not solves the problem there must be some hidden magic (listener ?) here is attached an oxt containing 50 modules, 30 sub, 100 lines each showing the problem. reproduced on master
yes, 2 minutes or so of waiting switching between modules is unacceptable ( even though I know this is a really large Library ) It should be a MAB too I think ( need to see where this first appeared ) Some initial profiling and it seems that it is parsing the source for every method ( on updateentries ) to verify that it exists ( this seems particularly crazy ) - not sure if there is an easy solution I will look further
(In reply to comment #1) > yes, 2 minutes or so of waiting switching between modules is unacceptable an exaggeration of course ( on my machine about 5 seconds with the oxt example ) of course this is still unacceptable for just switching between tabs
17 seconds on master ( maybe because I have more things built in debug
Noel Power committed a patch related to this issue. It has been pushed to "master": http://cgit.freedesktop.org/libreoffice/core/commit/?id=61027ca6eb450fb20bfe9209ba180fe0606baeab improve performance switching modules in large Libraries fdo#66148 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.
the patch is ok regarding latency. The basic IDE is now responding well but the "object catalog" is not updated if a new sub/function is added in a module (even when switching forth and back to the module) well, i can live with that ;-) any backport possible to 3.6.x and/or 4.x branches ? many thanks to Noel, (The) Power(full) !!!
(In reply to comment #5) > the patch is ok regarding latency. The basic IDE is now responding well > but > the "object catalog" is not updated if a new sub/function is added in a > module > (even when switching forth and back to the module) I don't see that (works for me), most likely I don't do the same steps as you, can you give me the *exact* steps to repoduce this
(In reply to comment #6) > I don't see that (works for me), most likely I don't do the same steps as > you, can you give me the *exact* steps to repoduce this just a thought are you using the old patch ( the one I first mentioned on irc ) or http://cgit.freedesktop.org/libreoffice/core/commit/?id=61027ca6eb450fb20bfe9209ba180fe0606baeab the corrected patch ( might explain why I don't see the problem )
it was the right patch i did not realize that my added function was alphabetically sorted so, all is all for me
backports for review 4.0 https://gerrit.libreoffice.org/4599 4.1 https://gerrit.libreoffice.org/4598
Noel Power committed a patch related to this issue. It has been pushed to "libreoffice-4-1": http://cgit.freedesktop.org/libreoffice/core/commit/?id=2d7dff2d677475c7e29e5340d0ebef8545aefd97&h=libreoffice-4-1 improve performance switching modules in large Libraries fdo#66148 It will be available in LibreOffice 4.1. 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.
Noel Power committed a patch related to this issue. It has been pushed to "libreoffice-4-0": http://cgit.freedesktop.org/libreoffice/core/commit/?id=7f50f4092b7beafa5545a9a783dde760b260df4c&h=libreoffice-4-0 improve performance switching modules in large Libraries fdo#66148 It will be available in LibreOffice 4.0.5. 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.