Gentoo Archives: gentoo-portage-dev

From: Zac Medico <zmedico@g.o>
To: gentoo-portage-dev@l.g.o
Subject: Re: [gentoo-portage-dev] [PATCH] Colorize packages in user sets (bug 577720)
Date: Sat, 16 Apr 2016 17:22:55
Message-Id: 571274E7.3050901@gentoo.org
In Reply to: Re: [gentoo-portage-dev] [PATCH] Colorize packages in user sets (bug 577720) by Zac Medico
1 On 04/16/2016 09:51 AM, Zac Medico wrote:
2 > On 03/29/2016 01:35 AM, Alexander Berntsen wrote:
3 >> On 20/03/16 15:33, Adam Mills wrote:
4 >>> + for set_name in root_config.sets:
5 >>> + if set_name == "system":
6 >>> + system = root_config.sets[set_name].findAtomForPackage(
7 >>> + pkg, modified_use=self.conf.pkg_use_enabled(pkg))
8 >>> + elif set_name == "selected":
9 >>> + world = root_config.sets[set_name].findAtomForPackage(
10 >>> + pkg, modified_use=self.conf.pkg_use_enabled(pkg))
11 >>> + elif user_set is None and root_config.sets[set_name].isUserSet():
12 >>> + user_set = root_config.sets[set_name].findAtomForPackage(
13 >>> + pkg, modified_use=self.conf.pkg_use_enabled(pkg))
14 >> This is really silly. At the very least try to not repeat yourself so
15 >> much.
16 >
17 > In order to avoid the loop, all of the user sets could be combined into
18 > a single InternalPackageSet instance, for indexing purposes.
19
20 To clarify, a combined user sets InternalPackageSet instance will
21 convert this from a O(N) sequential search loop to a O(1) hash table lookup.
22 --
23 Thanks,
24 Zac