On 09/28/11 13:48, Edward Pilatowicz wrote:
On Tue, Sep 27, 2011 at 04:49:06PM -0700, Shawn Walker wrote:
Greetings,
The following diff (and webrev) contains the fix for the following issue:
18976 pkg solver needs to go on a dependency diet
https://cr.opensolaris.org/action/browse/pkg/swalker/pkg-18976/webrev/
diff -r 32ef5a3b4c12 src/modules/client/pkg_solver.py
--- a/src/modules/client/pkg_solver.py Mon Sep 26 12:36:10 2011 -0700
+++ b/src/modules/client/pkg_solver.py Tue Sep 27 16:33:49 2011 -0700
@@ -1129,6 +1129,9 @@
f
for da in self.__get_dependency_actions(fmri,
excludes)
+ if da.attrs["type"] != "incorporate" and
+ da.attrs["type"] != "optional" and
+ da.attrs["type"] != "exclude"
for f in self.__parse_dependency(da, fmri,
dotrim, check_req=True)[1]
])
This fix reduced total update operation time on my system by roughly
66%. If you exclude image planning execution time, the reduction is
91%. Details are below.
first, this is awesome.
my only comment on the fix is that you could also skip "parent"
dependencies. actually, parent dependencies shouldn't be part of
possible_set, so we probably should have already been skipping them here
already. of course it hasn't caused a problem yet since the only parent
dependencies we have so far are the special "self" ones. if you don't
want to skip them in this wad let me know and i'll get a separate bug
filed.
Actually, it seems like parent dependencies could affect the possible
set if the fmri isn't for "self" and self.__parent_pkgs is defined.
I tried adding parent to the list of dependencies that aren't parsed and
it made no difference in upgrade times (at least for my test cases,
which admittedly weren't with any zones).
Given my uncertainty surrounding that, I'd rather we file a separate bug
to investigate parent dependencies specifically since we have already
said that we may be able to move the parsing/trimming of them earlier.
-Shawn
_______________________________________________
pkg-discuss mailing list
[email protected]
http://mail.opensolaris.org/mailman/listinfo/pkg-discuss