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