~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to doc/developers/performance-use-case-analysis.txt

merge trunk

Show diffs side-by-side

added added

removed removed

Lines of Context:
38
38
be constant time. Retrieval of the annotated text should be roughly
39
39
constant for any text of the same size regardless of the number of
40
40
revisions contributing to its content. Mapping of the revision ids to
41
 
dotted revnos could be done as the text is retrieved, but its completely
 
41
dotted revnos could be done as the text is retrieved, but it's completely
42
42
fine to post-process the annotated text to obtain dotted-revnos.'
43
43
 
44
44
What factors should be considered?
79
79
- locality of reference: If an operation requires data that is located
80
80
  within a small region at any point, we often get better performance
81
81
  than with an implementation of the same operation that requires the
82
 
  same amount of data but with a lower locality of reference. Its
 
82
  same amount of data but with a lower locality of reference. It's
83
83
  fairly tricky to add locality of reference after the fact, so I think
84
84
  its worth considering up front.
85
85
 
102
102
file-level operation latency considerations.
103
103
 
104
104
Many performance problems only become visible when changing the scaling knobs
105
 
upwards to large trees. On small trees its our baseline performance that drives
106
 
incremental improvements; on large trees its the amount of processing per item
 
105
upwards to large trees. On small trees it's our baseline performance that drives
 
106
incremental improvements; on large trees it's the amount of processing per item
107
107
that drives performance. A significant goal therefore is to keep the amount of
108
108
data to be processed under control. Ideally we can scale in a sublinear fashion
109
109
for all operations, but we MUST NOT scale even linearly for operations that