Root/qpkg/TODO

Source at commit a9f12d56661a8e6def5a2b32519c3efd55e38d31 created 8 years 11 months ago.
By Werner Almesberger, qpkg: converted ID comparison from "struct id *" to "void *"
1- optimize the search trees. Right now, we have 81812 calls to make_id
2  for 14601 packages, resulting in 7420560 calls to comp_id.
3
4  There can be at most 2 new identifiers per package (package name and
5  version), so a perfectly balanced tree should have a depth of no more
6  than 14. If we assume that each call to make_id searches to the bottom,
7  we'd get 1145368 calls to comp_id, about 15% of the current number.
8
9  So the tree is clearly degenerated.
10
11  Update: after switching to red-black trees, we get only 1497604 calls
12  to comp_id. This is 130% of the "good case" estimate above. Insertion
13  of a new node is currently done with two lookup, so we'll get rid of
14  some more lookups after further optimization.
15
16- check whether introducing a new package would cause a conflict
17
18- compile the list of conflicts of installed packages
19
20- handle Provides:
21
22- if there are multiple choices, try to prefer more recent versions
23
24- sort prerequisites such that they can be installed in the specified order
25
26- consider Architecture:
27
28- what to do with explicit and implicit replacement ?
29
30- if we can't resolve the prerequisites, give at least a hint of what one
31  can do to improve the situation
32
33- check database for internal consistency
34
35- implement keyword search
36

Archive Download this file

Branches:
master



interactive