Fixup patch for 0003. I discovered that the live-data samples could run for 10 minutes without completing the InstallabilityTester._optimize call, when enabling all architectures.
With patches 0001..0004 applied, I get the following runtimes for my branch with all architectures enabled in live-data. Python2.7: Running live-2011-12-13... done (462.214s) Running live-2011-12-20... done (493.302s) Running live-2012-01-04... done (335.115s) Python2.6 Running live-2011-12-13... done (853.107s) Running live-2011-12-20... done (945.488s) Running live-2012-01-04... done (591.630s) As a comparision, here is the master branch with Python2.6: Running live-2011-12-13... done (533.754s) Running live-2011-12-20... done (518.489s) Running live-2012-01-04... done (301.428s) ... and Python2.7: Running live-2011-12-13... done (450.644s) Running live-2011-12-20... done (427.680s) Running live-2012-01-04... done (261.718s) ~Niels
>From ad9da9382c541bdf6ec073647d90946d8f556497 Mon Sep 17 00:00:00 2001 From: Niels Thykier <ni...@thykier.net> Date: Sun, 19 Feb 2012 13:18:11 +0100 Subject: [PATCH 4/4] Fixup of "broken" loop in _optimize() Signed-off-by: Niels Thykier <ni...@thykier.net> --- installability.py | 5 ++--- 1 files changed, 2 insertions(+), 3 deletions(-) diff --git a/installability.py b/installability.py index ad3476d..e90a483 100644 --- a/installability.py +++ b/installability.py @@ -360,10 +360,9 @@ class InstallabilityTester(object): broken.add(t) - if t not in revuniverse: + if t not in revuniverse or t not in broken: continue - for rdep in revuniverse[t][0]: - check.add(rdep) + check.update(revuniverse[t][0] - broken) if len(broken) > 0: # Since a broken package will never be installable, nothing that depends on it -- 1.7.9