gnu-arch-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: cvs2arch (was Re: [Gnu-arch-users] an hack.. one night long)


From: wave++
Subject: Re: cvs2arch (was Re: [Gnu-arch-users] an hack.. one night long)
Date: Sun, 24 Aug 2003 02:10:25 +0200
User-agent: Mutt/1.5.4i

On Sat, Aug 23, 2003 at 08:16:29PM +0200, wave++ wrote:
> > Very interesting how the tla commit time closely tracks the additional
> > size of the {arch} directory tree. I guess the only change there should
> > be the addition of one logfile, which should be very quick for diff.
> 
> In fact, tla should only diff the pristine tree against the local
> sources and produce a patch. (Am I missing something?).  This should be
> almost constant over time considering that the size of the sources isn't
> changing much.

I've nailed down the problem. Look at these (hope Tom is reading):

  http://www.yuv.info/~wavexx/hacks/cvs2arch-perf-c1.png
  http://www.yuv.info/~wavexx/hacks/cvs2arch-perf-c50.png

As you see, in -c1 arch times grows a little due to the increased source
size (as it should be).

The problem: recursive directory scans. tree-lint, inventory,
make_changeset (etc) do several recursive directory scans of the whole
project tree. This isn't a real problem on the source tree, but it's a
problem under {arch}. {arch} is cluttered with files and/or directories.

Either 1) we should scan ONCE and keep the results, or 2) remove/ignore
useless directories in {arch} when possible (would be better to ignore
it entirely). 1 seems the the best solution to me.

patch-logs seems to be the primary problem. In these tests, after
committing, I removed all-but-lastest patch-logs in {arch} (even under
the pristine tree). In -c50 I "cleaned" {arch} once every 50 commits.
The results are pretty clear.

-- 
'(wave++ "Yuri D'Elia" "http://www.yuv.info/";)




reply via email to

[Prev in Thread] Current Thread [Next in Thread]