From 10bf68d6ee656d75ef9dc71b51fea661938190b8 Mon Sep 17 00:00:00 2001 From: Fabio Erculiani Date: Sat, 28 Jul 2012 19:54:38 +0200 Subject: [PATCH] [entropy.server] _deps_tester: use memoization with dependency strings --- lib/entropy/server/interfaces/main.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/lib/entropy/server/interfaces/main.py b/lib/entropy/server/interfaces/main.py index 77b10a212..48f5a3586 100644 --- a/lib/entropy/server/interfaces/main.py +++ b/lib/entropy/server/interfaces/main.py @@ -3858,6 +3858,7 @@ class Server(Client): length = str((len(installed_packages))) count = 0 mytxt = _("Checking") + _deps_cache = set() for idpackage, repo in installed_packages: count += 1 @@ -3878,6 +3879,8 @@ class Server(Client): # NOTE: this must also test build dependencies to make sure # that every packages comes out with all of them. xdeps = dbconn.retrieveDependencies(idpackage) + xdeps = [x for x in xdeps if x not in _deps_cache] + _deps_cache.update(xdeps) for xdep in xdeps: xid, xuseless = self.atom_match(xdep, match_repo = match_repo)