~bzr-pqm/bzr/bzr.dev

2495.2.2 by Aaron Bentley
Add initial push/pull analysis
1
/* ESTIMATES ARE VERY ROUGH APPROXIMATIONS */
2522.3.1 by Robert Collins
Draft proposed integration order for performance changes.
2
strict digraph performance {
2556.1.1 by Vincent Ladeuil
Minor cleanup.
3
  rankdir=LR
2522.3.1 by Robert Collins
Draft proposed integration order for performance changes.
4
  /* completed node list */
5
  node[color="green"];
6
  add_analysis[label="Work required analysis for add"];
2541.2.1 by Robert Collins
Document contributing to the performance drive somewhat.
7
  annotate_analysis[label="Work required analysis for annotate"];
2522.3.1 by Robert Collins
Draft proposed integration order for performance changes.
8
  branch_analysis[label="Work required analysis for branch"];
9
  bundle_analysis[label="Work required analysis for creating a bundle"];
2541.2.1 by Robert Collins
Document contributing to the performance drive somewhat.
10
  commit_analysis[label="Work required analysis for commit"];
11
  fetch_analysis[label="Work required analysis for push/pull"];
2541.2.3 by Robert Collins
Add GC to the performance.dot file and correct a bug in the performance-roadmap doc file.
12
  gc_analysis[label="Work required analysis for gc"];
2625.10.1 by Vincent Ladeuil
Add performance analysis of missing.
13
  missing_analysis[label="Work required analysis for missing"];
2541.2.1 by Robert Collins
Document contributing to the performance drive somewhat.
14
  revert_analysis[label="Work required analysis for revert"];
15
  revert_path_analysis[label="Work required analysis for revert of selected paths"];
2566.2.1 by Robert Collins
Status analysis.
16
  status_analysis[label="Work required analysis for status"];
2566.2.2 by Robert Collins
Review feedback.
17
  uncommit_analysis[label="Work required analysis for uncommit"];
2522.3.1 by Robert Collins
Draft proposed integration order for performance changes.
18
  wt_disk_order[label="Working Tree disk ordering\n6-8 weeks"];
2590.2.6 by Aaron Bentley
Update docs to note that iter_changes-merge is done
19
  iter_merge[label="iter_changes based merge\n2 days"];
2621.1.1 by Aaron Bentley
Add performance analysis of diff
20
  diff_analysis[label="Work required analysis for diff"];
2522.3.1 by Robert Collins
Draft proposed integration order for performance changes.
21
22
  /* uncompleted node list - add new tasks here */
23
  node[color="blue"];
24
  log_analysis[label="Work required analysis for log"];
25
  log_path_analysis[label="Work required analysis for log of selected paths."];
26
  diff_path_analysis[label="Work required analysis for diff of selected paths"];
27
  merge_analysis[label="Work required analysis for merge"];
28
  update_analysis[label="Work required analysis for update"];
29
  cbranch_analysis[label="Work required analysis for cbranch"];
30
31
  add_api_stack[label="Targeted API stack for add"];
32
  branch_api_stack[label="Targeted API stack for branch"];
33
  bundle_api_stack[label="Targeted API stack for creating a bundle"];
34
  annotate_api_stack[label="Targeted API stack for annotate"];
35
  status_api_stack[label="Targeted API stack for status"];
36
  commit_api_stack[label="Targeted API stack for commit"];
37
  fetch_api_stack[label="Targeted API stack for push/pull"];
38
  log_api_stack[label="Targeted API stack for log"];
39
  log_path_api_stack[label="Targeted API stack for log of selected paths."];
40
  diff_api_stack[label="Targeted API stack for diff"];
2541.2.3 by Robert Collins
Add GC to the performance.dot file and correct a bug in the performance-roadmap doc file.
41
  gc_api_stack[label="Targeted API stack for gc"];
2522.3.1 by Robert Collins
Draft proposed integration order for performance changes.
42
  revert_api_stack[label="Targeted API stack for revert"];
43
  revert_path_api_stack[label="Targeted API stack for revert of selected paths"];
44
  merge_api_stack[label="Targeted API stack for merge"];
45
  uncommit_api_stack[label="Targeted API stack for uncommit"];
46
  missing_api_stack[label="Targeted API stack for missing"];
47
  update_api_stack[label="Targeted API stack for update"];
48
  cbranch_api_stack[label="Targeted API stack for cbranch"];
49
50
  data_collation[label="Stream API for inserting/obtaining revision data.\n1 month"];
2495.2.1 by Aaron Bentley
Add bundle creation and merge scaling analysis
51
  repository_stacking[label="Repository stacking API\n2 months"];
2522.3.1 by Robert Collins
Draft proposed integration order for performance changes.
52
  new_container[label="New container format\n2 weeks"]
2495.2.1 by Aaron Bentley
Add bundle creation and merge scaling analysis
53
  xdelta[label="Xdelta sanity/learning\n2 weeks"];
54
  xdelta_imp[label="Xdelta implementation\n1 week"];
55
  q_splitting[label="Question radix directory splitting\n2 weeks"];
2522.3.1 by Robert Collins
Draft proposed integration order for performance changes.
56
  i_splitting[label="Inventory storage changed to answer what-changed quickly\n6-8 weeks"]
2625.10.1 by Vincent Ladeuil
Add performance analysis of missing.
57
  per_file_graph[label="Provide an API for per-file\n graph data rather than\n physical storage coupled knits api.\n1 days"];
2522.3.1 by Robert Collins
Draft proposed integration order for performance changes.
58
  deprecate_versionedfile_api[label="Deprecate the public API for access to physical knit storage."];
2495.2.1 by Aaron Bentley
Add bundle creation and merge scaling analysis
59
  anno_cache[label="Annotations become a cache:\n logically separate data\n2 weeks"]
60
  anno_regen[label="Annotation regeneration\n"];
61
  anno_kinds[label="Different styles of annotation"];
62
  memory_copies[label="Stop requiring full memory copies of files"];
63
  repo_disk_order[label="Repository disk ordering\n1 month"];
2522.3.1 by Robert Collins
Draft proposed integration order for performance changes.
64
  pack_repository[label="Pack based repository format"];
2495.2.1 by Aaron Bentley
Add bundle creation and merge scaling analysis
65
  graph_api[label="Network-efficient revision-graph API\n3 week"];
2522.3.1 by Robert Collins
Draft proposed integration order for performance changes.
66
  validators[label="Build new validators for revisions and trees."];
67
68
  /* under discussion/optional */
69
  node[color="yellow"];
70
  hash_names[label="Use hashes as names for some objects\n(to reduce tracking metadata and ease interoperability."];
2522.3.2 by Robert Collins
Make gdfo cache under discussion in the graph
71
  gdfo_api[label="GDFO API\n1 day"];
72
  gdfo_cache[label="GDFO Cache\n1 week"];
73
  gdfo_usage[label="GDFO Usage\n3 days"];
2522.3.1 by Robert Collins
Draft proposed integration order for performance changes.
74
75
  /* dependencies */
2541.2.6 by Robert Collins
Fix gc graph linkage.
76
  gc_analysis -> gc_api_stack;
2522.3.1 by Robert Collins
Draft proposed integration order for performance changes.
77
  gdfo_api -> gdfo_cache;
78
  gdfo_api -> gdfo_usage;
79
  xdelta -> xdelta_imp;
80
  q_splitting -> i_splitting;
81
  per_file_graph -> deprecate_versionedfile_api;
82
  anno_regen -> anno_kinds;
83
  anno_cache -> anno_regen;
84
  add_analysis -> add_api_stack;
85
  annotate_analysis -> annotate_api_stack -> anno_cache;
86
  annotate_api_stack -> per_file_graph -> graph_api;
87
  annotate_api_stack -> memory_copies;
88
  annotate_api_stack -> hash_names;
89
  branch_analysis -> branch_api_stack -> repository_stacking;
90
  branch_api_stack -> memory_copies;
91
  bundle_analysis -> bundle_api_stack -> data_collation;
92
  bundle_api_stack -> repository_stacking;
93
  bundle_api_stack -> validators;
94
  bundle_api_stack -> graph_api;
95
  bundle_api_stack -> memory_copies;
96
  bundle_api_stack -> new_container;
97
  bundle_analysis -> hash_names;
98
  cbranch_analysis -> cbranch_api_stack;
99
  commit_analysis -> commit_api_stack -> data_collation;
100
  commit_api_stack -> per_file_graph;
101
  commit_api_stack -> validators;
102
  commit_api_stack -> memory_copies;
103
  commit_api_stack -> hash_names;
104
  diff_analysis -> diff_api_stack;
105
  diff_api_stack -> memory_copies;
106
  diff_path_analysis -> diff_api_stack -> i_splitting;
107
  diff_api_stack -> hash_names;
108
  fetch_analysis -> fetch_api_stack -> data_collation;
109
  fetch_api_stack -> repository_stacking;
110
  fetch_api_stack -> graph_api;
111
  fetch_api_stack -> memory_copies;
112
  fetch_api_stack -> hash_names;
113
  repository_stacking -> graph_api;
114
  hash_names -> i_splitting;
115
  log_analysis -> log_api_stack -> i_splitting;
116
  log_path_analysis -> log_path_api_stack;
117
  log_path_api_stack -> per_file_graph;
118
  merge_analysis -> merge_api_stack -> iter_merge -> i_splitting;
119
  merge_api_stack -> memory_copies;
120
  missing_analysis -> missing_api_stack -> repository_stacking;
2625.10.1 by Vincent Ladeuil
Add performance analysis of missing.
121
 missing_api_stack -> graph_api;
2522.3.1 by Robert Collins
Draft proposed integration order for performance changes.
122
  new_container -> pack_repository;
123
  pack_repository -> xdelta_imp;
124
  pack_repository -> repo_disk_order;
125
  per_file_graph -> hash_names;
126
  repository_stacking -> pack_repository;
127
  repository_stacking -> new_container;
128
  revert_analysis -> revert_api_stack -> data_collation;
129
  revert_path_analysis -> revert_path_api_stack;
130
  revert_api_stack -> memory_copies;
131
  status_analysis -> status_api_stack;
132
  status_api_stack -> memory_copies;
133
  uncommit_analysis -> uncommit_api_stack -> data_collation;
134
  uncommit_api_stack -> graph_api;
135
  update_analysis -> update_api_stack;
136
  update_api_stack -> memory_copies;
2495.2.1 by Aaron Bentley
Add bundle creation and merge scaling analysis
137
}