1 |
Author: zmedico |
2 |
Date: 2010-01-30 13:06:40 +0000 (Sat, 30 Jan 2010) |
3 |
New Revision: 15283 |
4 |
|
5 |
Modified: |
6 |
main/trunk/pym/portage/__init__.py |
7 |
Log: |
8 |
For immutable config attributes, use shallow copy for speed and memory |
9 |
conservation. |
10 |
|
11 |
|
12 |
Modified: main/trunk/pym/portage/__init__.py |
13 |
=================================================================== |
14 |
--- main/trunk/pym/portage/__init__.py 2010-01-30 12:50:34 UTC (rev 15282) |
15 |
+++ main/trunk/pym/portage/__init__.py 2010-01-30 13:06:40 UTC (rev 15283) |
16 |
@@ -1581,8 +1581,13 @@ |
17 |
self._local_repo_conf_path = None |
18 |
|
19 |
if clone: |
20 |
- self.incrementals = copy.deepcopy(clone.incrementals) |
21 |
- self.profile_path = copy.deepcopy(clone.profile_path) |
22 |
+ # For immutable attributes, use shallow copy for |
23 |
+ # speed and memory conservation. |
24 |
+ self.incrementals = clone.incrementals |
25 |
+ self.profile_path = clone.profile_path |
26 |
+ self.profiles = clone.profiles |
27 |
+ self.packages = clone.packages |
28 |
+ |
29 |
self.user_profile_dir = copy.deepcopy(clone.user_profile_dir) |
30 |
self.local_config = copy.deepcopy(clone.local_config) |
31 |
self._local_repo_configs = \ |
32 |
@@ -1594,10 +1599,7 @@ |
33 |
self.modules = copy.deepcopy(clone.modules) |
34 |
|
35 |
self.depcachedir = copy.deepcopy(clone.depcachedir) |
36 |
- |
37 |
- self.packages = copy.deepcopy(clone.packages) |
38 |
self.virtuals = copy.deepcopy(clone.virtuals) |
39 |
- |
40 |
self.dirVirtuals = copy.deepcopy(clone.dirVirtuals) |
41 |
self.treeVirtuals = copy.deepcopy(clone.treeVirtuals) |
42 |
self.userVirtuals = copy.deepcopy(clone.userVirtuals) |
43 |
@@ -1631,7 +1633,6 @@ |
44 |
self.lookuplist = self.configlist[:] |
45 |
self.lookuplist.reverse() |
46 |
self._use_expand_dict = copy.deepcopy(clone._use_expand_dict) |
47 |
- self.profiles = copy.deepcopy(clone.profiles) |
48 |
self.backupenv = self.configdict["backupenv"] |
49 |
self.pusedict = copy.deepcopy(clone.pusedict) |
50 |
self.categories = copy.deepcopy(clone.categories) |
51 |
@@ -1675,12 +1676,14 @@ |
52 |
else: |
53 |
self.profile_path = None |
54 |
else: |
55 |
- self.profile_path = config_profile_path[:] |
56 |
+ self.profile_path = config_profile_path |
57 |
|
58 |
if config_incrementals is None: |
59 |
- self.incrementals = copy.deepcopy(portage.const.INCREMENTALS) |
60 |
+ self.incrementals = portage.const.INCREMENTALS |
61 |
else: |
62 |
- self.incrementals = copy.deepcopy(config_incrementals) |
63 |
+ self.incrementals = config_incrementals |
64 |
+ if not isinstance(self.incrementals, tuple): |
65 |
+ self.incrementals = tuple(self.incrementals) |
66 |
|
67 |
self.module_priority = ["user","default"] |
68 |
self.modules = {} |
69 |
@@ -1760,8 +1763,9 @@ |
70 |
self.profiles.append(custom_prof) |
71 |
del custom_prof |
72 |
|
73 |
+ self.profiles = tuple(self.profiles) |
74 |
self.packages_list = [grabfile_package(os.path.join(x, "packages")) for x in self.profiles] |
75 |
- self.packages = stack_lists(self.packages_list, incremental=1) |
76 |
+ self.packages = tuple(stack_lists(self.packages_list, incremental=1)) |
77 |
del self.packages_list |
78 |
#self.packages = grab_stacked("packages", self.profiles, grabfile, incremental_lines=1) |