This reduces the time of 'emerge --info foo' by roughly 24% on my
laptop.

X-Gentoo-Bug: 556764
X-Gentoo-Bug-url: https://bugs.gentoo.org/show_bug.cgi?id=556764
---
 pym/_emerge/actions.py  | 7 +++++--
 pym/_emerge/depgraph.py | 6 +++++-
 2 files changed, 10 insertions(+), 3 deletions(-)

diff --git a/pym/_emerge/actions.py b/pym/_emerge/actions.py
index 92d1f2e..01aef51 100644
--- a/pym/_emerge/actions.py
+++ b/pym/_emerge/actions.py
@@ -42,6 +42,8 @@ from portage.const import GLOBAL_CONFIG_PATH, VCS_DIRS, 
_DEPCLEAN_LIB_CHECK_DEFA
 from portage.const import SUPPORTED_BINPKG_FORMATS, TIMESTAMP_FORMAT
 from portage.dbapi.dep_expand import dep_expand
 from portage.dbapi._expand_new_virt import expand_new_virt
+from portage.dbapi.IndexedPortdb import IndexedPortdb
+from portage.dbapi.IndexedVardb import IndexedVardb
 from portage.dep import Atom, _repo_separator, _slot_separator
 from portage.eclass_cache import hashed_path
 from portage.exception import InvalidAtom, InvalidData, ParseError
@@ -1513,9 +1515,10 @@ def action_info(settings, trees, myopts, myfiles):
                                writemsg("\nemerge: searching for similar 
names..."
                                        , noiselevel=-1)
 
-                               dbs = [vardb]
+                               search_index = myopts.get("--search-index", 
"y") != "n"
+                               dbs = [IndexedVardb(vardb) if search_index else 
vardb]
                                #if "--usepkgonly" not in myopts:
-                               dbs.append(portdb)
+                               dbs.append(IndexedPortdb(portdb) if 
search_index else portdb)
                                if "--usepkg" in myopts:
                                        dbs.append(bindb)
 
diff --git a/pym/_emerge/depgraph.py b/pym/_emerge/depgraph.py
index a957108..57040ab 100644
--- a/pym/_emerge/depgraph.py
+++ b/pym/_emerge/depgraph.py
@@ -21,6 +21,7 @@ from portage.const import PORTAGE_PACKAGE_ATOM, 
USER_CONFIG_PATH, VCS_DIRS
 from portage.dbapi import dbapi
 from portage.dbapi.dep_expand import dep_expand
 from portage.dbapi.DummyTree import DummyTree
+from portage.dbapi.IndexedPortdb import IndexedPortdb
 from portage.dbapi._similar_name_search import similar_name_search
 from portage.dep import Atom, best_match_to_list, extract_affecting_use, \
        check_required_use, human_readable_required_use, match_from_list, \
@@ -5100,10 +5101,13 @@ class depgraph(object):
                                writemsg("\nemerge: searching for similar 
names..."
                                        , noiselevel=-1)
 
+                               search_index = 
self._frozen_config.myopts.get("--search-index", "y") != "n"
+                               # fakedbapi is indexed
                                dbs = [vardb]
                                if "--usepkgonly" not in 
self._frozen_config.myopts:
-                                       dbs.append(portdb)
+                                       dbs.append(IndexedPortdb(portdb) if 
search_index else portdb)
                                if "--usepkg" in self._frozen_config.myopts:
+                                       # bindbapi is indexed
                                        dbs.append(bindb)
 
                                matches = similar_name_search(dbs, atom)
-- 
2.4.6


Reply via email to