Rev 2558: (robertc) Document contributing to the performance effort and improve the roadmap dependency .png. (Robert Collins, Vincent Ladeuil) in file:///home/pqm/archives/thelove/bzr/%2Btrunk/
Canonical.com Patch Queue Manager
pqm at pqm.ubuntu.com
Thu Jun 28 05:45:02 BST 2007
At file:///home/pqm/archives/thelove/bzr/%2Btrunk/
------------------------------------------------------------
revno: 2558
revision-id: pqm at pqm.ubuntu.com-20070628044459-ycsqzvmdvd2u9r4d
parent: pqm at pqm.ubuntu.com-20070627080723-ci6ghe3bsm0snyit
parent: robertc at robertcollins.net-20070628025351-m2ljkhum6y81796w
committer: Canonical.com Patch Queue Manager<pqm at pqm.ubuntu.com>
branch nick: +trunk
timestamp: Thu 2007-06-28 05:44:59 +0100
message:
(robertc) Document contributing to the performance effort and improve the roadmap dependency .png. (Robert Collins, Vincent Ladeuil)
added:
doc/developers/performance-contributing.txt performancecontribut-20070621063612-ac4zhhagjzkr21qp-1
modified:
Makefile Makefile-20050805140406-d96e3498bb61c5bb
doc/developers/commit.txt performancecommit.tx-20070606061633-4y4rawskx5ejb99w-1
doc/developers/performance-roadmap.txt performanceroadmap.t-20070507174912-mwv3xv517cs4sisd-2
doc/developers/performance.dot performance.dot-20070527173558-rqaqxn1al7vzgcto-3
------------------------------------------------------------
revno: 2541.2.6
merged: robertc at robertcollins.net-20070628025351-m2ljkhum6y81796w
parent: robertc at robertcollins.net-20070628025303-qq0wykhge953e0id
committer: Robert Collins <robertc at robertcollins.net>
branch nick: roadmap
timestamp: Thu 2007-06-28 12:53:51 +1000
message:
Fix gc graph linkage.
------------------------------------------------------------
revno: 2541.2.5
merged: robertc at robertcollins.net-20070628025303-qq0wykhge953e0id
parent: robertc at robertcollins.net-20070628025122-yvcg4br3d7o20kyx
parent: v.ladeuil+lp at free.fr-20070627074736-snyzwqfr6hdf2xh2
committer: Robert Collins <robertc at robertcollins.net>
branch nick: roadmap
timestamp: Thu 2007-06-28 12:53:03 +1000
message:
Merge Vila's performance.dot tweaks.
------------------------------------------------------------
revno: 2556.1.1
merged: v.ladeuil+lp at free.fr-20070627074736-snyzwqfr6hdf2xh2
parent: pqm at pqm.ubuntu.com-20070627051257-kgk2thfvi2k3k37o
committer: Vincent Ladeuil <v.ladeuil+lp at free.fr>
branch nick: perfs
timestamp: Wed 2007-06-27 09:47:36 +0200
message:
Minor cleanup.
* doc/developers/performance.dot:
Use LR rankdir makes the graph easier to read.
* Makefile:
(doc/developers/performance.png): Add echo.
------------------------------------------------------------
revno: 2541.2.4
merged: robertc at robertcollins.net-20070628025122-yvcg4br3d7o20kyx
parent: robertc at robertcollins.net-20070628024812-w7idw3rg3hahe9e8
parent: pqm at pqm.ubuntu.com-20070627080723-ci6ghe3bsm0snyit
committer: Robert Collins <robertc at robertcollins.net>
branch nick: roadmap
timestamp: Thu 2007-06-28 12:51:22 +1000
message:
Merge more of bzr.dev.
------------------------------------------------------------
revno: 2541.2.3
merged: robertc at robertcollins.net-20070628024812-w7idw3rg3hahe9e8
parent: robertc at robertcollins.net-20070628024350-z8bdm0y6yz2uyf4o
committer: Robert Collins <robertc at robertcollins.net>
branch nick: roadmap
timestamp: Thu 2007-06-28 12:48:12 +1000
message:
Add GC to the performance.dot file and correct a bug in the performance-roadmap doc file.
------------------------------------------------------------
revno: 2541.2.2
merged: robertc at robertcollins.net-20070628024350-z8bdm0y6yz2uyf4o
parent: robertc at robertcollins.net-20070621064107-82v51aa0gpquytwb
parent: pqm at pqm.ubuntu.com-20070626191000-flte155pupv54bcs
committer: Robert Collins <robertc at robertcollins.net>
branch nick: roadmap
timestamp: Thu 2007-06-28 12:43:50 +1000
message:
Merge bzr.dev.
------------------------------------------------------------
revno: 2541.2.1
merged: robertc at robertcollins.net-20070621064107-82v51aa0gpquytwb
parent: pqm at pqm.ubuntu.com-20070620205507-uuolokc2e0eckrb7
committer: Robert Collins <robertc at robertcollins.net>
branch nick: roadmap
timestamp: Thu 2007-06-21 16:41:07 +1000
message:
Document contributing to the performance drive somewhat.
=== added file 'doc/developers/performance-contributing.txt'
--- a/doc/developers/performance-contributing.txt 1970-01-01 00:00:00 +0000
+++ b/doc/developers/performance-contributing.txt 2007-06-21 06:41:07 +0000
@@ -0,0 +1,52 @@
+Contributing to the performance drive
+=====================================
+
+.. contents:: :local:
+
+What needs doing?
+-----------------
+
+There is plenty of code to write. Testers are always welcome for experimental
+changes. In general, pick a BLUE node from performance.png which has nothing
+pointing at it that is also BLUE, and start working on that.
+
+Status
+------
+
+The performance drive is well under way. At the moment we are finalising the
+analysis documents from the sprint at London. If you were not at that sprint,
+please read the analysis documents - consider them living documents much like
+code, to be patched and corrected.
+
+If you were at the London performance sprint, please help finish documenting
+the core command analysis work. The core commands that have not been analysed
+are listed in performance.dot as the BLUE nodes. For quick reference:
+
+* status
+* log
+* diff
+* uncommit
+* missing
+* update
+* cbranch
+
+Once a given command has had its analysis created, the bottleneck of 'folk who
+attended London' is removed. The next task is in general the creation of a
+targeted API stack for that command. This API stack is done by starting with
+the cmd object in ``builtins.py`` and cleaning up the code so that the API used
+there is one which allows an implementation matching the analysis document.
+This then gets repeated, iteratively, on each of the called API's, until all
+the current slow code is cleanly abstracted behind the ``Tree``, ``Branch`` and
+``Repository`` API's.
+
+Resources
+---------
+
+The usual resources for contributing to bzr - the mailing list, wiki, bug
+tracker and IRC channels are documented in the HACKING_ document. Additionally
+there are members of the project focusing on performance at the moment who are
+willing to mentor contributors on performance issues. Just send a mail to the
+list asking for mentoring on the step of the performance plan you want to help
+with.
+
+.. _HACKING: HACKING.htm
=== modified file 'Makefile'
--- a/Makefile 2007-06-20 03:09:58 +0000
+++ b/Makefile 2007-06-27 07:47:36 +0000
@@ -132,6 +132,7 @@
# build a png of our performance task list
doc/developers/performance.png: doc/developers/performance.dot
+ @echo Generating $@
@dot -Tpng $< -o$@ || echo "Dot not installed; skipping generation of $@"
=== modified file 'doc/developers/commit.txt'
--- a/doc/developers/commit.txt 2007-06-21 07:44:24 +0000
+++ b/doc/developers/commit.txt 2007-06-28 02:43:50 +0000
@@ -1,6 +1,8 @@
Commit Performance Notes
========================
+.. contents:: :local:
+
Changes to commit
-----------------
@@ -14,7 +16,6 @@
right, it will be relatively easy and non-disruptive to bring this in.
-
Commit: The Minimum Work Required
---------------------------------
=== modified file 'doc/developers/performance-roadmap.txt'
--- a/doc/developers/performance-roadmap.txt 2007-06-26 04:55:33 +0000
+++ b/doc/developers/performance-roadmap.txt 2007-06-28 02:48:12 +0000
@@ -18,6 +18,8 @@
.. include:: planned-performance-changes.txt
+.. include:: performance-contributing.txt
+
.. include:: planned-change-integration.txt
Analysis of use cases
@@ -34,6 +36,8 @@
.. include:: add.txt
+.. include:: commit.txt
+
.. include:: gc.txt
.. include:: revert.txt
@@ -44,6 +48,4 @@
.. include:: bundle-creation.txt
-.. include:: commit.txt
-
.. include:: uncommit.txt
=== modified file 'doc/developers/performance.dot'
--- a/doc/developers/performance.dot 2007-06-19 00:55:18 +0000
+++ b/doc/developers/performance.dot 2007-06-28 02:53:51 +0000
@@ -1,24 +1,26 @@
/* ESTIMATES ARE VERY ROUGH APPROXIMATIONS */
strict digraph performance {
+ rankdir=LR
/* completed node list */
node[color="green"];
add_analysis[label="Work required analysis for add"];
+ annotate_analysis[label="Work required analysis for annotate"];
branch_analysis[label="Work required analysis for branch"];
bundle_analysis[label="Work required analysis for creating a bundle"];
+ commit_analysis[label="Work required analysis for commit"];
+ fetch_analysis[label="Work required analysis for push/pull"];
+ gc_analysis[label="Work required analysis for gc"];
+ revert_analysis[label="Work required analysis for revert"];
+ revert_path_analysis[label="Work required analysis for revert of selected paths"];
wt_disk_order[label="Working Tree disk ordering\n6-8 weeks"];
/* uncompleted node list - add new tasks here */
node[color="blue"];
- annotate_analysis[label="Work required analysis for annotate"];
status_analysis[label="Work required analysis for status"];
- commit_analysis[label="Work required analysis for commit"];
- fetch_analysis[label="Work required analysis for push/pull"];
log_analysis[label="Work required analysis for log"];
log_path_analysis[label="Work required analysis for log of selected paths."];
diff_analysis[label="Work required analysis for diff"];
diff_path_analysis[label="Work required analysis for diff of selected paths"];
- revert_analysis[label="Work required analysis for revert"];
- revert_path_analysis[label="Work required analysis for revert of selected paths"];
merge_analysis[label="Work required analysis for merge"];
uncommit_analysis[label="Work required analysis for uncommit"];
missing_analysis[label="Work required analysis for missing"];
@@ -35,6 +37,7 @@
log_api_stack[label="Targeted API stack for log"];
log_path_api_stack[label="Targeted API stack for log of selected paths."];
diff_api_stack[label="Targeted API stack for diff"];
+ gc_api_stack[label="Targeted API stack for gc"];
revert_api_stack[label="Targeted API stack for revert"];
revert_path_api_stack[label="Targeted API stack for revert of selected paths"];
merge_api_stack[label="Targeted API stack for merge"];
@@ -70,6 +73,7 @@
gdfo_usage[label="GDFO Usage\n3 days"];
/* dependencies */
+ gc_analysis -> gc_api_stack;
gdfo_api -> gdfo_cache;
gdfo_api -> gdfo_usage;
xdelta -> xdelta_imp;
More information about the bazaar-commits
mailing list