/brz/remove-bazaar

To get this branch, use:
bzr branch http://gegoxaren.bato24.eu/bzr/brz/remove-bazaar

« back to all changes in this revision

Viewing changes to doc/developers/update.txt

  • Committer: John Arbash Meinel
  • Date: 2009-04-16 22:06:25 UTC
  • mto: This revision was merged to the branch mainline in revision 4323.
  • Revision ID: john@arbash-meinel.com-20090416220625-hejrugy3r5qwlut9
Restore the ability to handle None as a key.
We now use _null_key instead of None to indicate the end-of-refs.
This means we now check that _null_key isn't used as an actual key.
This slows us down from 7.1 => 7.3s or so.
Interestingly, the globals lookup of _null_key was faster than
node is self._lru (7.5s+). I was a bit surprised at that.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
"bzr update" performance analysis
2
2
=================================
3
3
 
4
 
There are 5 different slightly different situations in which bzr update
 
4
There are 5 different slightly different situations in which bzr update 
5
5
can be used:
6
6
 
7
7
* local only (no-op)
27
27
 
28
28
potential issue w/ serialized is having 50k files in limbo/
29
29
 
30
 
the limbo/ directory could be avoided in some cases, for example when
 
30
the limbo/ directory could be avoided in some cases, for example when 
31
31
adding new files in new directories.
32
32
 
33
33
modifying in place: reduces fragmentation of fs, not atomic
36
36
 
37
37
"local mod" is diff between disk and last commit, not merge base
38
38
 
39
 
Detecting name conflicts should be O(siblings). Alternatively, conflicts
40
 
with existing files can be detected using stat() and conflicts with new files
41
 
can be detected by examining the pending transform. This changes
 
39
Detecting name conflicts should be O(siblings). Alternatively, conflicts 
 
40
with existing files can be detected using stat() and conflicts with new files 
 
41
can be detected by examining the pending transform. This changes 
42
42
complexity to O(changes).
43
43
 
44
44
out of date heavyweight checkout, out of date w/master