~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to doc/developers/performance-contributing.txt

  • Committer: Robert Collins
  • Date: 2007-06-21 06:41:07 UTC
  • mto: This revision was merged to the branch mainline in revision 2558.
  • Revision ID: robertc@robertcollins.net-20070621064107-82v51aa0gpquytwb
Document contributing to the performance drive somewhat.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
Contributing to the performance drive
 
2
=====================================
 
3
 
 
4
.. contents:: :local:
 
5
 
 
6
What needs doing?
 
7
-----------------
 
8
 
 
9
There is plenty of code to write. Testers are always welcome for experimental
 
10
changes. In general, pick a BLUE node from performance.png which has nothing
 
11
pointing at it that is also BLUE, and start working on that.
 
12
 
 
13
Status
 
14
------
 
15
 
 
16
The performance drive is well under way. At the moment we are finalising the
 
17
analysis documents from the sprint at London. If you were not at that sprint,
 
18
please read the analysis documents - consider them living documents much like
 
19
code, to be patched and corrected.
 
20
 
 
21
If you were at the London performance sprint, please help finish documenting
 
22
the core command analysis work. The core commands that have not been analysed
 
23
are listed in performance.dot as the BLUE nodes. For quick reference:
 
24
 
 
25
* status
 
26
* log
 
27
* diff
 
28
* uncommit
 
29
* missing
 
30
* update
 
31
* cbranch
 
32
 
 
33
Once a given command has had its analysis created, the bottleneck of 'folk who
 
34
attended London' is removed. The next task is in general the creation of a
 
35
targeted API stack for that command. This API stack is done by starting with
 
36
the cmd object in ``builtins.py`` and cleaning up the code so that the API used
 
37
there is one which allows an implementation matching the analysis document.
 
38
This then gets repeated, iteratively, on each of the called API's, until all
 
39
the current slow code is cleanly abstracted behind the ``Tree``, ``Branch`` and
 
40
``Repository`` API's.
 
41
 
 
42
Resources
 
43
---------
 
44
 
 
45
The usual resources for contributing to bzr - the mailing list, wiki, bug
 
46
tracker and IRC channels are documented in the HACKING_ document. Additionally
 
47
there are members of the project focusing on performance at the moment who are
 
48
willing to mentor contributors on performance issues. Just send a mail to the
 
49
list asking for mentoring on the step of the performance plan you want to help
 
50
with.
 
51
 
 
52
.. _HACKING: HACKING.htm