~bzr-pqm/bzr/bzr.dev

Viewing all changes in revision 3641.3.13.

  • Committer: John Arbash Meinel
  • Date: 2008-08-20 23:11:59 UTC
  • mto: This revision was merged to the branch mainline in revision 3644.
  • Revision ID: john@arbash-meinel.com-20080820231159-lp0gxglwyxveiot7
Some more data points for the time/repack tradeoff.
Instead of always using copy() we can use a multi-step process.
1) Always add bytes ignoring flush until _default_min_compression
2) Add bytes using Z_SYNC_FLUSH until we hit the page limit,
   and then repack N times.
3) After repacking N times, switch to using copy() before adding
   a new node with Z_SYNC_FLUSH.
4) If we re-use the copy() compressor we will get max packing
   or we can just use the SYNC compressor until it is full,
   and then return the copy.
Current stats are done using the artificial data. We should
produce a set using real-world data so we can pick the best
time/space tradeoff. Further, we can use this information to
find the best space values if someone issues a 'bzr pack'
command. Since that is generally a 'spend more time to get
better results' command.

expand all expand all

Show diffs side-by-side

added added

removed removed

Lines of Context: