In config.setcpv(), use LazyItemsDict to implement lazy evaluation of
authorZac Medico <zmedico@gentoo.org>
Sat, 21 Feb 2009 21:51:13 +0000 (21:51 -0000)
committerZac Medico <zmedico@gentoo.org>
Sat, 21 Feb 2009 21:51:13 +0000 (21:51 -0000)
commitb612926a04a7ef31029e27229dea2a9d1dbddb2c
tree6b5b7757eb2092e6b1e2a651633fede13c0d136e
parente708e87e1a5d4e1e2411241382020dbcf4753494
In config.setcpv(), use LazyItemsDict to implement lazy evaluation of
PORTAGE_IUSE. The PORTAGE_IUSE value is lazily evaluated since re.escape()
is slow and the value is only used when an ebuild phase needs to be executed
(it's used only to generate QA notices). Thanks to Marat Radchenko
<slonopotamusorama@gmail.com> for identifying this performance issue and
submitting the initial patch which used a memoization approach instead of
lazy evaluation.

svn path=/main/trunk/; revision=12673
pym/portage/__init__.py
pym/portage/util.py