Find uses/rename is being painfully slow

Milian Wolff mail at milianw.de
Thu Feb 17 13:54:25 UTC 2011


On 02/17/11 14:08, Aleix Pol wrote:
> On Thu, Feb 17, 2011 at 1:54 PM, Valentyn Pavliuchenko<
> valentyn.pavliuchenko at gmail.com>  wrote:
>
>> I agree - it's really slow and I hate it. Why renaming even some file-local
>> variable is so slow?
>>
>> --
>> Best regards,
>> Valentyn Pavliuchenko
>>
>>
>>
>> 2011/2/17 Dmitry Risenberg<dmitry.risenberg at gmail.com>
>>
>> Hi people!
>>>
>>> I've been having trouble with Find Uses/Rename Declaration features
>>> for some time - it is really slow. When I call Find Uses on a
>>> variable, KDevelop outputs some uses instantly, but then the progess
>>> bar halts for some time (a few seconds) before it goes some more
>>> forward, and then halts again and so on. At the same time a background
>>> parser progress bar appears in the lower right corner and disapperars
>>> only when the search for uses is done. The whole search takes a few
>>> minutes while Eclipse (!) copes in just a few seconds.
>>>
>>> I've also heard complaints on the IRC about Find Uses becoming slow,
>>> so I think this is a regression. I'll try to fix it if someone can
>>> point where to look. I think that the reason for slowness is calling
>>> the parser.
>>>
>>> --
>>> Dmitry Risenberg
>>>
>>> --
>>> KDevelop-devel mailing list
>>> KDevelop-devel at kdevelop.org
>>> https://barney.cs.uni-potsdam.de/mailman/listinfo/kdevelop-devel
>>>
>>
>>
>> --
>> KDevelop-devel mailing list
>> KDevelop-devel at kdevelop.org
>> https://barney.cs.uni-potsdam.de/mailman/listinfo/kdevelop-devel
>>
>>
> I never understood either, shouldn't just the declaration's context be
> reparsed? this one is already ContextDeclarationsAndUses so it shouldn't be
> necessary, right?

afaik the problem is getting *all* uses to make the renaming correctly. 
And for that *all* project files are checked to be up2date. And this 
takes time. Long time.

The thing with "private to file" stuff is that the current mechanism 
(afaik) does not check that. It does not know which file accesses a 
private/protected/public member of a class for example.

Anyways, David will know more.

bye

-- 
Milian Wolff
http://milianw.de




More information about the KDevelop-devel mailing list