treat at kde.org
Fri Aug 4 20:40:22 UTC 2006
On Friday 04 August 2006 4:21 pm, mwoehlke wrote:
> Adam Treat wrote:
> > On Friday 04 August 2006 3:22 pm, mwoehlke wrote:
> >> Adam Treat wrote:
> >>> SVN commit 569772 by treat:
> >>> Optimize project loading, document loading, and background parser.
> >>> [snip]
> >>> With no open documents at startup, I can still parse every file, all
> >>> 1268, at startup in under 1 minute.
> >>> That's pretty fast.
> >> Hmm, an improvement, I guess? Still, I'd be much happier if it was under
> >> 15 *seconds*. My main project is almost 2000 files (although because I
> >> can't get 'add file to project' to work, they aren't all be in the
> >> project), so I have to deal with a similar - if not worse - delay. :-(
> >> Anyone have numbers on how long the same task on the same computer would
> >> takes without these changes?
> > Ok, if you don't have any open documents and you've already opened the
> > project before then it shouldn't need to parse all files on startup.
> > Besides, in this case the backgroundparser works in the background. The
> > GUI is responsive before it is completed.
> > When we get the static stuff in the parser sorted out we can use even
> > more threads which might make it faster.
> > If you choose to open 2000 documents on project start, then you really
> > aren't happy with it under a couple minutes?
> Assuming by "open" you mean "have opened in tabs, i.e. to edit", I only
> have maybe a dozen files open; sometimes only 3-4. I think it was less
> than six for the instance where I timed it.
Yah, I mean a KPart has been created for every open document. Files that are
just parsed from disk are not 'open'. Typically I'd imagine most people
don't have more than a few dozen files open at startup.
I'm talking about opening 1268 files at startup. That takes less than 2
minutes. I think that is pretty good.
For a few dozen it should take a only a few seconds.
To be sure, we still have to work on it.
> It almost sounds like I am not having this parsing stuff persisted? Or
> maybe it's something totally different; you probably know better than I
> do (given that you, or at least Matt, has my callgrind output).
> >> I gave Matt Rogers a callgrind dump from opening my project; did
> >> anything ever come of that?
> > I've talked about it with Matt a little. He said that one of the things
> > that is eating away is the calls to KMimeType::findByUrl() i think. I
> > cache that information now so it is only called once per doc. We'll
> > continue to try and get better.
> Yeah, that sounds like the "big killer" I remember noticing. Anyway, was
> just wondering; thanks for the info!
More information about the KDevelop-devel