Merge lp:~mbp/bzr/doc-cleanup into lp:~bzr/bzr/trunk-old

Proposed by Martin Pool
Status: Merged
Merged at revision: not available
Proposed branch: lp:~mbp/bzr/doc-cleanup
Merge into: lp:~bzr/bzr/trunk-old
Diff against target: 159 lines
To merge this branch: bzr merge lp:~mbp/bzr/doc-cleanup
Reviewer Review Type Date Requested Status
John A Meinel Approve
Robert Collins (community) Approve
Review via email: mp+7265@code.launchpad.net
To post a comment you must log in.
Revision history for this message
Martin Pool (mbp) wrote :

This stops us from building performance.png, which was identified as bloating the binary packages, and it cleans up some old developer documentation. There's more we could do to trim things that may be out of date.

Revision history for this message
Robert Collins (lifeless) wrote :

 review +1

review: Approve
Revision history for this message
John A Meinel (jameinel) wrote :

Arg... another example of:
https://bugs.edge.launchpad.net/launchpad-code/+bug/338002

Anyway, I approve of not generating the performance.png except on demand. I'll assume that all the other changes are just bug #338002

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file 'Makefile'
--- Makefile 2009-06-10 03:56:49 +0000
+++ Makefile 2009-06-10 09:35:31 +0000
@@ -120,7 +120,6 @@
120 doc/developers/initial-push-pull.txt \120 doc/developers/initial-push-pull.txt \
121 doc/developers/merge-scaling.txt \121 doc/developers/merge-scaling.txt \
122 doc/developers/missing.txt \122 doc/developers/missing.txt \
123 doc/developers/performance-contributing.txt \
124 doc/developers/performance-roadmap-rationale.txt \123 doc/developers/performance-roadmap-rationale.txt \
125 doc/developers/performance-use-case-analysis.txt \124 doc/developers/performance-use-case-analysis.txt \
126 doc/developers/planned-change-integration.txt \125 doc/developers/planned-change-integration.txt \
@@ -189,11 +188,13 @@
189 $(PYTHON) generate_docs.py -o $@ man188 $(PYTHON) generate_docs.py -o $@ man
190189
191# build a png of our performance task list190# build a png of our performance task list
191#
192# this is no longer built by default; you can build it if you want to look at it
192doc/developers/performance.png: doc/developers/performance.dot193doc/developers/performance.png: doc/developers/performance.dot
193 @echo Generating $@194 @echo Generating $@
194 @dot -Tpng $< -o$@ || echo "Dot not installed; skipping generation of $@"195 @dot -Tpng $< -o$@ || echo "Dot not installed; skipping generation of $@"
195196
196derived_web_docs = $(htm_files) $(dev_htm_files) doc/developers/performance.png197derived_web_docs = $(htm_files) $(dev_htm_files)
197WEB_DOCS = $(derived_web_docs) $(non_txt_files)198WEB_DOCS = $(derived_web_docs) $(non_txt_files)
198ALL_DOCS = $(derived_web_docs) $(MAN_PAGES)199ALL_DOCS = $(derived_web_docs) $(MAN_PAGES)
199200
200201
=== removed file 'doc/developers/performance-contributing.txt'
--- doc/developers/performance-contributing.txt 2009-03-25 15:45:02 +0000
+++ doc/developers/performance-contributing.txt 1970-01-01 00:00:00 +0000
@@ -1,60 +0,0 @@
1Contributing to the performance drive
2=====================================
3
4.. contents:: :local:
5
6What needs doing?
7-----------------
8
9There is plenty of code to write. Testers are always welcome for experimental
10changes. In general, from the `Performance Tasks`_ graph, pick a BLUE node that has nothing
11pointing at it that is also BLUE, and start working on that.
12
13Ad-hoc performance work can also be done. One useful tool is the 'evil' debug
14flag. For instance running ``bzr -Devil commit -m "test"`` will log a backtrace
15to the bzr log file for every method call which triggers a slow or non-scalable
16part of the bzr library. So checking that a given command with ``-Devil`` has
17no backtraces logged to the log file is a good way to find problem function
18calls that might be nested deep in the code base.
19
20Status
21------
22
23The performance drive is well under way. At the moment we are finalising the
24analysis documents from the sprint at London. If you were not at that sprint,
25please read the analysis documents - consider them living documents much like
26code, to be patched and corrected.
27
28If you were at the London performance sprint, please help finish documenting
29the core command analysis work. The core commands that have not been analysed
30are listed in `Performance Tasks`_ as the BLUE nodes. For quick reference:
31
32* status
33* log
34* diff
35* uncommit
36* missing
37* update
38* cbranch
39
40Once a given command has had its analysis created, the bottleneck of 'folk who
41attended London' is removed. The next task is in general the creation of a
42targeted API stack for that command. This API stack is done by starting with
43the cmd object in ``builtins.py`` and cleaning up the code so that the API used
44there is one which allows an implementation matching the analysis document.
45This then gets repeated, iteratively, on each of the called API's, until all
46the current slow code is cleanly abstracted behind the ``Tree``, ``Branch`` and
47``Repository`` API's.
48
49Resources
50---------
51
52The usual resources for contributing to bzr - the mailing list, wiki, bug
53tracker and IRC channels are documented in the `Bazaar Developer Guide`_. Additionally
54there are members of the project focusing on performance at the moment who are
55willing to mentor contributors on performance issues. Just send a mail to the
56list asking for mentoring on the step of the performance plan you want to help
57with.
58
59.. _`Bazaar Developer Guide`: ../en/developer-guide/HACKING.html
60.. _`Performance Tasks`: performance.png
610
=== modified file 'doc/developers/performance-roadmap.txt'
--- doc/developers/performance-roadmap.txt 2007-09-03 09:10:13 +0000
+++ doc/developers/performance-roadmap.txt 2009-06-10 09:35:31 +0000
@@ -18,8 +18,6 @@
1818
19.. include:: planned-performance-changes.txt19.. include:: planned-performance-changes.txt
2020
21.. include:: performance-contributing.txt
22
23.. include:: planned-change-integration.txt21.. include:: planned-change-integration.txt
2422
25Analysis of use cases23Analysis of use cases
2624
=== modified file 'doc/developers/planned-change-integration.txt'
--- doc/developers/planned-change-integration.txt 2009-03-20 02:25:19 +0000
+++ doc/developers/planned-change-integration.txt 2009-06-10 09:35:31 +0000
@@ -11,14 +11,16 @@
11integrate because we will often need to alter apis throughout the code base to11integrate because we will often need to alter apis throughout the code base to
12expose the increased or reduced model of the preferred disk format.12expose the increased or reduced model of the preferred disk format.
1313
14`Performance Tasks`_, which is generated from the Graphviz "dot" file ``performance.dot``, graphs out the dependencies to let us make14You can generate a graph ``performance.png`` in the source tree from
15accurate assessments of the changes needed in terms of code and API, hopefully15Graphviz "dot" file ``performance.dot``. This graphs out the dependencies
16minimising the number of different integration steps we have to take, while16to let us make accurate assessments of the changes needed in terms of code
17giving us a broad surface area for development. It's based on a summary in the17and API, hopefully minimising the number of different integration steps we
18next section of this document of the planned changes with their expected18have to take, while giving us a broad surface area for development. It's
19collaborators and dependencies. Where a command is listed, the expectation is19based on a summary in the next section of this document of the planned
20that all uses of that command - local, remote, dumb transport and smart20changes with their expected collaborators and dependencies. Where a
21transport are being addressed together.21command is listed, the expectation is that all uses of that command -
22local, remote, dumb transport and smart transport are being addressed
23together.
2224
2325
24The following provides a summary of the planned changes and their expected26The following provides a summary of the planned changes and their expected
@@ -139,5 +141,3 @@
139 data, making only explicit uses of it visible, and isolating the impact of141 data, making only explicit uses of it visible, and isolating the impact of
140 removing it : allowing us to experiment sensibly. This covers both dropping142 removing it : allowing us to experiment sensibly. This covers both dropping
141 the per-file merge graph and the hash-based-names proposals.143 the per-file merge graph and the hash-based-names proposals.
142
143.. _`Performance Tasks`: performance.png
144144
=== modified file 'doc/en/developer-guide/HACKING.txt'
--- doc/en/developer-guide/HACKING.txt 2009-05-05 07:17:43 +0000
+++ doc/en/developer-guide/HACKING.txt 2009-06-10 09:35:31 +0000
@@ -46,6 +46,15 @@
46If nothing else, perhaps you'll find inspiration in how other developers46If nothing else, perhaps you'll find inspiration in how other developers
47have solved their challenges.47have solved their challenges.
4848
49Finding Something To Do
50=======================
51
52Ad-hoc performance work can also be done. One useful tool is the 'evil' debug
53flag. For instance running ``bzr -Devil commit -m "test"`` will log a backtrace
54to the bzr log file for every method call which triggers a slow or non-scalable
55part of the bzr library. So checking that a given command with ``-Devil`` has
56no backtraces logged to the log file is a good way to find problem function
57calls that might be nested deep in the code base.
4958
50Planning and Discussing Changes59Planning and Discussing Changes
51===============================60===============================