Fwd: Re: kdevelop idle CPU usage (4.7/1.7)

Milian Wolff mail at milianw.de
Thu Apr 16 14:14:28 BST 2015

----------  Forwarded Message  ----------

Subject: Re: kdevelop idle CPU usage (4.7/1.7)
Date: Thursday 16 April 2015, 14:56:48
From: René J.V. Bertin <rjvbertin at gmail.com>
To: Milian Wolff <mail at milianw.de>
CC: kdevelop at kde.org

On Thursday April 16 2015 14:09:41 Milian Wolff wrote:

>Please attach a profiler and figure out where the CPU time is spent. This 
>not sound good at all. But without help from your side that tells us where 
>CPU cycles are spent there is nothing we can do.

In the end the easiest way to find a likely suspect was through the debugger, 
not a profiler (OS X no longer has Shark which allowed detailed analysis of 
running code after attaching to it at any given moment).
The cycles appears to be spent in Qt's dir watcher.

>Both should be a per-session setting, if that's not the case then we should 
>change it.

Disabling the background parser clearly isn't a per-session setting. I had a 
quick look at the code; IIRC it's handled in a different part of the code and 
in a way that doesn't seem straightforward to change.

>The difference between the two is, well - what the labels say ;-) One will 
>decide whether to feed all files in a project to the background parser after 
>the project was opened. 

I'm still not convinced that it's possible to trigger the parser manually 
except on a file-by-file basis. I've asked about this before and was told that 
a project reload should do the trick (and it seems rather evident that it 
won't unless the parser is fed upon project load :)).

OT: I'd still like to try one day how KDevelop interacts with OS X's 
throttling and other cycle and memory watchdogs when first loading all 
projects (which includes unkillable subprocesses) and launching the parser 
only after all projects are fully loaded. It's my hunch that it would at least 
*feel* snappier, maybe provoke less inexplicable throttling issues when 
KDevelop doesn't remain in the foreground. And opportunities to cancel 
(re)parsing of certain projects will probably arrive quicker.

>The other will disable the background parser 
>completely and thus you'll never get any fancy language integration at all.

Does that apply to all languages, including highlighting (which I think is 
handled by Kate)?

Milian Wolff
mail at milianw.de

More information about the KDevelop mailing list