On performance of shouldDoDUChainReferenceCounting again

Milian Wolff mail at milianw.de
Tue Jan 12 18:11:57 UTC 2010


Hey all, esp. David ;-)

Hope it's OK if I ask a bit again about the performance of 
KDevelop::shouldDoDUChainReferenceCounting (not ...Internal).

It turns out that it is now (incl. costs) repsonsible for 40% of the total 
cost during parsing the big PHP internal function file. I don't pass any -
threads parameter to duchainify, is it now using two threads by default? Yet 
I'm only parsing a single file, hence it should use a single thread. Anyways, I 
find it kinda krass that this function and it's children spent 40% for a 
"simple" bool-check...

Here's my profile:
https://userpage.physik.fu-berlin.de/~milianw/callgrind.out.29477.bz2

As you can see 72% of the 40%, i.e. 30% total, are spent in 
QWaitCondition::wakeOne(). As far as I can see this would be called in the 
dtor of the SpinLock.

Is there anything we could do to improve this?
-- 
Milian Wolff
mail at milianw.de
http://milianw.de




More information about the KDevelop-devel mailing list