Gentoo Archives: gentoo-commits

From: "Zac Medico (zmedico)" <zmedico@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] portage r10211 - main/branches/2.1.2/bin
Date: Mon, 05 May 2008 21:07:57
Message-Id: E1Jt7uc-0007sO-MU@stork.gentoo.org
1 Author: zmedico
2 Date: 2008-05-05 21:07:53 +0000 (Mon, 05 May 2008)
3 New Revision: 10211
4
5 Modified:
6 main/branches/2.1.2/bin/emerge
7 Log:
8 Cache results for Task.__hash__() calls. (trunk r10210)
9
10
11 Modified: main/branches/2.1.2/bin/emerge
12 ===================================================================
13 --- main/branches/2.1.2/bin/emerge 2008-05-05 21:06:30 UTC (rev 10210)
14 +++ main/branches/2.1.2/bin/emerge 2008-05-05 21:07:53 UTC (rev 10211)
15 @@ -1361,7 +1361,7 @@
16 return have_eapi_mask
17
18 class Task(SlotObject):
19 - __slots__ = ("_hash_key",)
20 + __slots__ = ("_hash_key", "_hash_value")
21
22 def _get_hash_key(self):
23 hash_key = getattr(self, "_hash_key", None)
24 @@ -1376,7 +1376,10 @@
25 return self._get_hash_key() != other
26
27 def __hash__(self):
28 - return hash(self._get_hash_key())
29 + hash_value = getattr(self, "_hash_value", None)
30 + if hash_value is None:
31 + self._hash_value = hash(self._get_hash_key())
32 + return self._hash_value
33
34 def __len__(self):
35 return len(self._get_hash_key())
36
37 --
38 gentoo-commits@l.g.o mailing list