Gentoo Archives: gentoo-commits

From: Zac Medico <zmedico@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] proj/portage:master commit in: pym/_emerge/
Date: Fri, 31 May 2013 23:24:58
Message-Id: 1370042672.4d031fd366f2ee135145181d449c5047badbc7e5.zmedico@gentoo
1 commit: 4d031fd366f2ee135145181d449c5047badbc7e5
2 Author: Zac Medico <zmedico <AT> gentoo <DOT> org>
3 AuthorDate: Fri May 31 23:24:32 2013 +0000
4 Commit: Zac Medico <zmedico <AT> gentoo <DOT> org>
5 CommitDate: Fri May 31 23:24:32 2013 +0000
6 URL: http://git.overlays.gentoo.org/gitweb/?p=proj/portage.git;a=commit;h=4d031fd3
7
8 depgraph: tuple display list, avoid copies
9
10 TODO: Optimize _show_merge_list to use reference comparison more
11 instead of == comparison.
12
13 ---
14 pym/_emerge/depgraph.py | 19 +++++++++++++------
15 1 file changed, 13 insertions(+), 6 deletions(-)
16
17 diff --git a/pym/_emerge/depgraph.py b/pym/_emerge/depgraph.py
18 index 7929a78..9c0a966 100644
19 --- a/pym/_emerge/depgraph.py
20 +++ b/pym/_emerge/depgraph.py
21 @@ -5704,9 +5704,13 @@ class depgraph(object):
22 except self._serialize_tasks_retry:
23 pass
24
25 - retlist = self._dynamic_config._serialized_tasks_cache[:]
26 + retlist = self._dynamic_config._serialized_tasks_cache
27 if reversed:
28 + # TODO: deprecate the "reversed" parameter (builtin name collision)
29 + retlist = list(retlist)
30 retlist.reverse()
31 + retlist = tuple(retlist)
32 +
33 return retlist
34
35 def _implicit_libc_deps(self, mergelist, graph):
36 @@ -6575,10 +6579,12 @@ class depgraph(object):
37 for blocker in unsolvable_blockers:
38 retlist.append(blocker)
39
40 + retlist = tuple(retlist)
41 +
42 if unsolvable_blockers and \
43 not self._accept_blocker_conflicts():
44 self._dynamic_config._unsatisfied_blockers_for_display = unsolvable_blockers
45 - self._dynamic_config._serialized_tasks_cache = retlist[:]
46 + self._dynamic_config._serialized_tasks_cache = retlist
47 self._dynamic_config._scheduler_graph = scheduler_graph
48 # Blockers don't trigger the _skip_restart flag, since
49 # backtracking may solve blockers when it solves slot
50 @@ -6587,7 +6593,7 @@ class depgraph(object):
51
52 if self._dynamic_config._slot_collision_info and \
53 not self._accept_blocker_conflicts():
54 - self._dynamic_config._serialized_tasks_cache = retlist[:]
55 + self._dynamic_config._serialized_tasks_cache = retlist
56 self._dynamic_config._scheduler_graph = scheduler_graph
57 raise self._unknown_internal_error()
58
59 @@ -6641,12 +6647,13 @@ class depgraph(object):
60 def _show_merge_list(self):
61 if self._dynamic_config._serialized_tasks_cache is not None and \
62 not (self._dynamic_config._displayed_list is not None and \
63 - (self._dynamic_config._displayed_list == self._dynamic_config._serialized_tasks_cache or \
64 + (self._dynamic_config._displayed_list is self._dynamic_config._serialized_tasks_cache or \
65 + self._dynamic_config._displayed_list == self._dynamic_config._serialized_tasks_cache or \
66 self._dynamic_config._displayed_list == \
67 list(reversed(self._dynamic_config._serialized_tasks_cache)))):
68 - display_list = self._dynamic_config._serialized_tasks_cache[:]
69 + display_list = self._dynamic_config._serialized_tasks_cache
70 if "--tree" in self._frozen_config.myopts:
71 - display_list.reverse()
72 + display_list = tuple(reversed(display_list))
73 self.display(display_list)
74
75 def _show_unsatisfied_blockers(self, blockers):