Rev 2789: (Vincent Ladeuil) Performance analysis of missing in file:///home/pqm/archives/thelove/bzr/%2Btrunk/

Canonical.com Patch Queue Manager pqm at pqm.ubuntu.com
Mon Sep 3 12:09:24 BST 2007


At file:///home/pqm/archives/thelove/bzr/%2Btrunk/

------------------------------------------------------------
revno: 2789
revision-id: pqm at pqm.ubuntu.com-20070903110923-pj5pw0wsf1u922j9
parent: pqm at pqm.ubuntu.com-20070903101735-al3ficqurndkv49i
parent: bialix at ukr.net-20070903091013-vn3j45aq5a0jeyeu
committer: Canonical.com Patch Queue Manager <pqm at pqm.ubuntu.com>
branch nick: +trunk
timestamp: Mon 2007-09-03 12:09:23 +0100
message:
  (Vincent Ladeuil) Performance analysis of missing
added:
  doc/developers/missing.txt     missing.txt-20070718093412-eqjvfwo0oacov5sn-1
modified:
  doc/developers/performance-roadmap.txt performanceroadmap.t-20070507174912-mwv3xv517cs4sisd-2
  doc/developers/performance.dot performance.dot-20070527173558-rqaqxn1al7vzgcto-3
    ------------------------------------------------------------
    revno: 2778.5.1
    merged: bialix at ukr.net-20070903091013-vn3j45aq5a0jeyeu
    parent: pqm at pqm.ubuntu.com-20070903031921-8msn0bmzubicv5b1
    parent: v.ladeuil+lp at free.fr-20070718094341-edmgsog3el06yqow
    committer: Alexander Belchenko <bialix at ukr.net>
    branch nick: vila
    timestamp: Mon 2007-09-03 12:10:13 +0300
    message:
      merge with bzr.dev
    ------------------------------------------------------------
    revno: 2625.10.1
    merged: v.ladeuil+lp at free.fr-20070718094341-edmgsog3el06yqow
    parent: pqm at pqm.ubuntu.com-20070717180333-5smmeduk2q3sbzvw
    committer: Vincent Ladeuil <v.ladeuil+lp at free.fr>
    branch nick: missing.spec
    timestamp: Wed 2007-07-18 11:43:41 +0200
    message:
      Add performance analysis of missing.
=== added file 'doc/developers/missing.txt'
--- a/doc/developers/missing.txt	1970-01-01 00:00:00 +0000
+++ b/doc/developers/missing.txt	2007-07-18 09:43:41 +0000
@@ -0,0 +1,27 @@
+Missing
+=======
+
+Missing is used to find out the differences between the current branch and
+another branch.
+
+The performance analysis itself brings no further points than the
+incremental-push-pull one.
+
+More importantly, the UI have been considered not optimal: missing finds and
+displays the differences between two branches, presenting the revisions that
+are not common to both branches as two sets:
+
+* the revisions that are present only in the current branch,
+* the revisions that are present only in the other branch.
+
+A quick and dirty survey indicates that most of the users are interested in
+only one set of revisions at a time.
+
+From a performance point of view, it may be more appropriate to calculate only
+the set the user is asking for.
+
+It has been proposed that the missing command be deprecated in favor of a
+--dry-run option for the push, pull, merge commands.
+
+In the mean time, the missing command stays interesting as it provides an easy
+way to test, measure and optimize graph differences processing.

=== modified file 'doc/developers/performance-roadmap.txt'
--- a/doc/developers/performance-roadmap.txt	2007-07-31 03:38:18 +0000
+++ b/doc/developers/performance-roadmap.txt	2007-09-03 09:10:13 +0000
@@ -54,6 +54,8 @@
 
 .. include:: uncommit.txt
 
+.. include:: missing.txt
+
 Subsystem designs
 #################
 

=== modified file 'doc/developers/performance.dot'
--- a/doc/developers/performance.dot	2007-07-17 00:27:16 +0000
+++ b/doc/developers/performance.dot	2007-07-18 09:43:41 +0000
@@ -10,6 +10,7 @@
   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"];
+  missing_analysis[label="Work required analysis for missing"];
   revert_analysis[label="Work required analysis for revert"];
   revert_path_analysis[label="Work required analysis for revert of selected paths"];
   status_analysis[label="Work required analysis for status"];
@@ -24,7 +25,6 @@
   log_path_analysis[label="Work required analysis for log of selected paths."];
   diff_path_analysis[label="Work required analysis for diff of selected paths"];
   merge_analysis[label="Work required analysis for merge"];
-  missing_analysis[label="Work required analysis for missing"];
   update_analysis[label="Work required analysis for update"];
   cbranch_analysis[label="Work required analysis for cbranch"];
 
@@ -54,7 +54,7 @@
   xdelta_imp[label="Xdelta implementation\n1 week"];
   q_splitting[label="Question radix directory splitting\n2 weeks"];
   i_splitting[label="Inventory storage changed to answer what-changed quickly\n6-8 weeks"]
-  per_file_graph[label="Provide an API for per-file graph data rather than physical storage coupled knits api.\n1 days"];
+  per_file_graph[label="Provide an API for per-file\n graph data rather than\n physical storage coupled knits api.\n1 days"];
   deprecate_versionedfile_api[label="Deprecate the public API for access to physical knit storage."];
   anno_cache[label="Annotations become a cache:\n logically separate data\n2 weeks"]
   anno_regen[label="Annotation regeneration\n"];
@@ -118,6 +118,7 @@
   merge_analysis -> merge_api_stack -> iter_merge -> i_splitting;
   merge_api_stack -> memory_copies;
   missing_analysis -> missing_api_stack -> repository_stacking;
+ missing_api_stack -> graph_api;
   new_container -> pack_repository;
   pack_repository -> xdelta_imp;
   pack_repository -> repo_disk_order;




More information about the bazaar-commits mailing list