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