Improving Performance
Static analysis
Currently static analysis in Pythoscope is slow for (at least) three reasons:
- all files are inspected sequentially, instead of concurrently
- lib2to3 library we use for parsing Python modules is written in pure Python and thus is quite slow
- test-modules dependency algorithm used by the test generator is pretty simplistic
In short, we inspect too much, in a sequential manner using a pretty slow library. So, a plenty of ways to improve. :-)
Helpful links
- Multi-threaded map() for Python
- Multi-processing map() for Python
- Threaded map() by Connelly Barnes
- new multiprocessing module in Python 2.6
Dynamic analysis
For dynamic analysis not only execution time, but also memory footprint matters. Current implementation doesn't seem to cause any problems so far, but we haven't tested it on some calculation-intensive code either.
Helpful links
Test generation
This is again a sequential process that could be parallelized. OTOH this seems to be fast enough for now.
page revision: 2, last edited: 25 Apr 2009 10:43