Rev 2626: Add performance analysis of missing. in file:///v/home/vila/src/experimental/missing.spec/

Vincent Ladeuil v.ladeuil+lp at free.fr
Wed Jul 18 10:43:42 BST 2007


At file:///v/home/vila/src/experimental/missing.spec/

------------------------------------------------------------
revno: 2626
revision-id: 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:
  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
-------------- next part --------------
=== 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-17 00:27:16 +0000
+++ b/doc/developers/performance-roadmap.txt	2007-07-18 09:43:41 +0000
@@ -53,3 +53,5 @@
 .. include:: bundle-creation.txt
 
 .. include:: uncommit.txt
+
+.. include:: missing.txt

=== 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