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