Gentoo Archives: gentoo-portage-dev

From: Zac Medico <zmedico@g.o>
To: gentoo-portage-dev@l.g.o
Cc: Zac Medico <zmedico@g.o>
Subject: [gentoo-portage-dev] [PATCH] similar_name_search: used indexed repos where appropriate (bug 556764)
Date: Thu, 06 Aug 2015 05:10:29
Message-Id: 1438837799-14955-1-git-send-email-zmedico@gentoo.org
1 This reduces the time of 'emerge --info foo' by roughly 24% on my
2 laptop.
3
4 X-Gentoo-Bug: 556764
5 X-Gentoo-Bug-url: https://bugs.gentoo.org/show_bug.cgi?id=556764
6 ---
7 pym/_emerge/actions.py | 7 +++++--
8 pym/_emerge/depgraph.py | 6 +++++-
9 2 files changed, 10 insertions(+), 3 deletions(-)
10
11 diff --git a/pym/_emerge/actions.py b/pym/_emerge/actions.py
12 index 92d1f2e..01aef51 100644
13 --- a/pym/_emerge/actions.py
14 +++ b/pym/_emerge/actions.py
15 @@ -42,6 +42,8 @@ from portage.const import GLOBAL_CONFIG_PATH, VCS_DIRS, _DEPCLEAN_LIB_CHECK_DEFA
16 from portage.const import SUPPORTED_BINPKG_FORMATS, TIMESTAMP_FORMAT
17 from portage.dbapi.dep_expand import dep_expand
18 from portage.dbapi._expand_new_virt import expand_new_virt
19 +from portage.dbapi.IndexedPortdb import IndexedPortdb
20 +from portage.dbapi.IndexedVardb import IndexedVardb
21 from portage.dep import Atom, _repo_separator, _slot_separator
22 from portage.eclass_cache import hashed_path
23 from portage.exception import InvalidAtom, InvalidData, ParseError
24 @@ -1513,9 +1515,10 @@ def action_info(settings, trees, myopts, myfiles):
25 writemsg("\nemerge: searching for similar names..."
26 , noiselevel=-1)
27
28 - dbs = [vardb]
29 + search_index = myopts.get("--search-index", "y") != "n"
30 + dbs = [IndexedVardb(vardb) if search_index else vardb]
31 #if "--usepkgonly" not in myopts:
32 - dbs.append(portdb)
33 + dbs.append(IndexedPortdb(portdb) if search_index else portdb)
34 if "--usepkg" in myopts:
35 dbs.append(bindb)
36
37 diff --git a/pym/_emerge/depgraph.py b/pym/_emerge/depgraph.py
38 index a957108..57040ab 100644
39 --- a/pym/_emerge/depgraph.py
40 +++ b/pym/_emerge/depgraph.py
41 @@ -21,6 +21,7 @@ from portage.const import PORTAGE_PACKAGE_ATOM, USER_CONFIG_PATH, VCS_DIRS
42 from portage.dbapi import dbapi
43 from portage.dbapi.dep_expand import dep_expand
44 from portage.dbapi.DummyTree import DummyTree
45 +from portage.dbapi.IndexedPortdb import IndexedPortdb
46 from portage.dbapi._similar_name_search import similar_name_search
47 from portage.dep import Atom, best_match_to_list, extract_affecting_use, \
48 check_required_use, human_readable_required_use, match_from_list, \
49 @@ -5100,10 +5101,13 @@ class depgraph(object):
50 writemsg("\nemerge: searching for similar names..."
51 , noiselevel=-1)
52
53 + search_index = self._frozen_config.myopts.get("--search-index", "y") != "n"
54 + # fakedbapi is indexed
55 dbs = [vardb]
56 if "--usepkgonly" not in self._frozen_config.myopts:
57 - dbs.append(portdb)
58 + dbs.append(IndexedPortdb(portdb) if search_index else portdb)
59 if "--usepkg" in self._frozen_config.myopts:
60 + # bindbapi is indexed
61 dbs.append(bindb)
62
63 matches = similar_name_search(dbs, atom)
64 --
65 2.4.6

Replies