[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