[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#660409: Rewrite Britney's installability tester in python



Package: release.debian.org
Severity: wishlist
User: release.debian.org@packages.debian.org
Usertags: britney


Hi,

I took a look at replacing Britney's installability tester[1].  In my
follow up mail I will attach my patches[2].  Part of my focus has been
to implement this as a(n almost) compatible replacement for the old
module.

Result-wise it gives identical results to our current implementation
in the test suite.  Speed-wise, I believe it is "fast enough" to be
used.  I have some ideas for further optimization, though these will
most likely imply structural changes to other parts of Britney.

My testing suggests that using Python2.7 will greatly affect the
runtime with this module.  The master branch correctly only see a
similar improvement in one of the live-data samples[3].

Please note that the britney-tests repository is currently not setup
to use the live-data as regression test.  If you want to verify my
results, consider using "test-branch" to pit it against the master
branch.

~Niels

[1] The "dark corner" written in C that no ones ever looks at
if they can avoid it.

[2] I do not trust myself with reportbug to get it right in this
email.  :)

[3] Runtimes the master branch vs my branch.  The "-py2.6" marker means
Python2.6 was used as interpreter.  Same for "-py2.7" and Python2.7.

+------------+--------------+--------------+--------------+--------------+
| live-data  | master-py2.6 | master-py2.7 | branch-py2.6 | branch-py2.7 |
+------------+--------------+--------------+--------------+--------------+
| 2011-12-13 |   201.363s   |   186.369s   |   173.224s   |   135.778s   |
| 2011-12-20 |    97.947s   |    93.213s   |   142.128s   |   111.234s   |
| 2012-01-04 |    74.255s   |    70.503s   |   117.565s   |    95.287s   |
+------------+--------------+--------------+--------------+--------------+

NB: 2011-12-13 triggers an AIEEE in the master branch.




Reply to: