[RFC] bzr.jrydberg.versionedfile
Johan Rydberg
jrydberg at gnu.org
Wed Dec 21 15:06:24 GMT 2005
Johan Rydberg <jrydberg at gnu.org> writes:
> To follow the rules above, but still have acceptable performance, a
> few tricks must be used. For control knits (knits in group 1 and 2) a
> in-memory knit is created, and merged with the on-disk knit. The
> in-memory knit is then also merged with the remote knit. At this
> point all entries needed is in memory, and if fetched in the most
> effective way (KnitVersionedFile.join is more effective than
> extracting texts). When the time comes, the on-disk knit is merged
> with the in-memory knit.
Note to self (and others): This will increase both memory and I/O
overhead since the whole contents of the on-disk knit will have to be
read into memory before starting to fetch remote versions.
Some initial numbers:
The unsafe method (old fetcher):
real 2m30.801s
user 1m22.416s
sys 0m15.575s
The safe method (new fetcher):
real 5m36.910s
user 3m41.084s
sys 0m56.903s
Not good :/
~j
More information about the bazaar
mailing list