Releasing 4.5.2 and 4.6?

Milian Wolff mail at
Sat Oct 19 21:45:58 UTC 2013

On Saturday 19 October 2013 23:24:02 Sven Brauch wrote:
> Hi!
> On Saturday 19 October 2013 23:12:15 Milian Wolff wrote:
> > And what about 4.6? Could we at least release a first beta in - say - two
> > weeks?
> Sounds good, but I have two issues with master which shouldn't be released
> imo:
>  - This manpage plugin freezes kdevelop for me (for approx. 10 seconds) when
> moving the mouse over certain declarations such as QString (because it uses
> kio synchroneously and because there's apparently a bug in the manpage kio
> which makes it hang for a while on some search queries -- or it's just
> slow, I'm not sure), and I have heard that from other people too.
> Long story short, I failed to fix it so far and I think we should either
> investigate or at least disable the plugin by default. Since it involves
> manpage stuff, this issue could very well be distribution- or
> setup-specific.

Yeah, but this will require some refactoring. Good that you remind me of that, 
I wanted to look into that.

>  - Sometimes, all language plugins take forever to parse stuff (a minute per
> file-ish). This can only be resolved by clearing the cache (not even
> restarting the application helps). Did anyone else see this, or is it just
> me?

I saw this and it's just another serious issue that's hard to solve properly 
in our current DUChain setup. Essentially it's that updating the KDevelop 
cache is really slow. I.e. you'll see this most prominently if you update any 
bigger external libraries (stdlib updates are the worst), or switch branches 
in a big project, after you parsed the project once. The then required 
updating, merging etc. pp. is just slow (looking at the code, I fear it could 
scale with O(n^2) or so of existing declarations in any given context that 
needs to be updated). 

Personally, I wonder whether we could not simply drop the "update cache" code 
altogether and instead wipe file-related cache entries and just put new stuff 
in there. This may trigger tons of issues though with DeclarationPointers etc. 
pp. which might be invalided then between reparse events, even though the 
declaration is still there (and just some other context in the file was 
changed e.g.).

Definitely fun :) Who wants to look into that?

Milian Wolff
mail at

More information about the KDevelop-devel mailing list