Python language / CPython interpreter ideas
- Security audit of python. Using as many automated processes as possible.
- Python speed up. Reduce memory usage, speedup startup time. The two main speed regressions of the 2.0, 2.1,2.2,2.3,2.4 releases. (438,453,499,771,880) syscalls vs 106 for latest perl. 0m0.031s, 0m0.029s, 0m0.037s, 0m0.059s, 0m0.057s real time to start vs 0m0.007s for the latest perl.
- Revive restricted Python -- inspired by a recent thread on the py3k list (would be mentored by Brett Cannon: request that student who takes this on not use it as basis of work to be published because of competition with my dissertation)
- Add regular code-coverage (both C and Python) to the build system (maybe even to Buildbot?)
- Provide more and better debugging of reference counting, garbage collection, and other memory issues for extension and embedding authors.
- Enable I18N identifiers support for py3k.
- Write tools that leverage the new compiler AST-- tools to analyze code, walk the AST, modify it, allow a modified AST to be compiled back to bytecode. Work on PEP 267.
Create a practical statistical profiler designed for inclusion in core Python. (You might want to take a look at Andy Wingo's [http://wingolog.org/archives/2005/10/ statprof] profiler as a starting point. -- SkipMontanaro) Also/alternatively, create a thread-aware profiler -- none of the current profilers are useful with multi threaded code.
The development of the new [http://numeric.scipy.org/ NumPy] has led to good ideas for how to get a generic multidimensional array object into Python 2.6. Somebody willing to work with the NumPy developers to take the essential portions of NumPy and create a basearray (also called a dimarray) that could be included as a base-class multidimensional array object along with a general-purpose data-type object. This project has already been started but needs someone with time to help it along. See the [http://numeric.scipy.org/array_interface.html Array Interface] description page for an SVN check-out. This project has large impact potential for Python.
- Improve Python threading performance, maybe remove Global Interpreter Lock (GIL). (Note that the chance of getting a remove-the-GIL patch into core Python is probably zero.) Reducing memory usage, and other resource usage will give a nice speedup.
- Improve cross-compiling support of Python interpreter.