Profiling data for qmake manager

Stephan Diederich stephan.diederich at googlemail.com
Mon Nov 20 12:30:33 UTC 2006


2006/11/20, Andreas Pakulat <apaku at gmx.de>:
> On 20.11.06 10:39:56, Stephan Diederich wrote:
> > 2006/11/20, Andreas Pakulat <apaku at gmx.de>:
[snip]
> > the problem with the profile ist, that's it is not covering the full
> > startup phase. For example it doesn't reach the insertion into the
> > Listviews.
>
> Huh? At least on the shell-output I saw that
> QMakeScopeItem::buildSubTree was executed for a number of Scope's (I saw
> 4 messages saying it wouldn't be created, there are in full about 10
> invalid Scopes in the tree after parsing). Which would mean the
> overview-Listview should've been populated to some extent as well as the
> groups should've been filled.

OK, I'll recheck this. Callgrind does a bit of internal caching. So
although you see messages on the console, it possible that they are
not yet written to file. Best way to avoid this is a normal shutdown
of the application you profile.

> > Attached are patches for the big guys in the profile you attached.
> > Both of them reduce/eliminate copying of QListViews and a conversion
> > >from QValueList to QListView. But this gives only about 20% reduces
> > startup time for me.
> >
> > The patch for QMakeDefaultOps can be applied, the patch for Scope is a
> > matter of taste, I think.
>
> I don't like returning references from Functions, so I'm not going to do
> that atm. The other patch for scope does something I should've done
> for a long time, it does contain a small error though...

Sorry for the bug. It was a bit late. And I didn't double check the
patch for Scope. The  one for QMakeDefaultOps was more natural for me.
The thing about references is currently discussed on IRC ;)

Cheers,
Stephan




More information about the KDevelop-devel mailing list