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