[darcs-users] Possibly a very simplistic solution

Ketil Malde ketil at ii.uib.no
Fri May 21 07:10:35 UTC 2004

David Roundy <droundy at abridgegame.org> writes:

> This could be avoided by creating a simultaneous diff-and-sync function,
> but that would be a bit nasty, since diff itself is an ugly function.
> Also, it would eliminate the laziness in diff, which would be unfortunate.

> Another way around it would be to not sync every time--we could randomly
> decide whether or not to sync, which would speed things up most of the time
> by a factor of two on large repos.  The catch would that if you record a
> very very large change, you may find afterwards that whatsnew/record are
> very very slow for a while, since they would keep running diff on all the
> files that you touched in that previous record.

Couldn't you sync (lazily) after a diff has been needlessly run on
identical files, instead of randomly?  Then only the first whatsnew
will slow. 

> A third possibility would be to run the sync after each record, pull or
> apply, rather than before each whatsnew or record.  The advantage here is
> that the "fast" whatsnew isn't slowed down, but instead the "slow" pulls
> and applies are slowed down.  Also, it eliminates redundant syncs.

Sounds like the right thing to do, doesn't it?

(BTW, I'm not really bothered by darcs's speed, for the small scale
stuff I'm doing, it seems plenty fast enough.)

If I haven't seen further, it is by standing in the footprints of giants

More information about the darcs-users mailing list