1030
Comment:
|
1864
|
Deletions are marked like this. | Additions are marked like this. |
Line 1: | Line 1: |
The following goals were included in the sprint announcement. Please use this area as a staging point to indicate interest in specific goals and discuss possible approaches, recruit support for half-baked ideas and so on. This is a '''''Wiki''''', people! Create new pages at will. | Here are some topics that fit into the NeedForSpeed theme. You can add additional topics below. |
Line 3: | Line 3: |
* Improving the decimal module by implementing portions in C | Please discuss the specific goals and possible approaches to these problems! |
Line 5: | Line 5: |
* Investigate whether RPython offers sufficient speedup over the regular CPython interpreter to replace tailored C and C++ code in MMP gaming applications | |
Line 7: | Line 6: |
* Implement an ordered dictionary in both C and Python | '''CPython''' * Implement attribute lookup PEPs (and other intrepreter speedups) * Implement faster floating point ops * Implement portions of decimal module in C * Struct module improvements (e.g. struct.compile, struct.finditer) * Create a string variant that provides lazy slicing without copying * Allow selective removal of unused features (e.g. profiling support) * Faster parsing of strings and bytes into int, long, etc. * Buffer for use with network i/o * More collections (ordered dictionary, red/black tree, pivot tables, skip lists, etc.) * Create a 64 bit PyInt type (for 32 bit machines) * Optimize str object methods * Improve timeit.py API * Add itertools.imerge() and itertools.izip_longest() |
Line 9: | Line 21: |
* Implement data-structure-specific algorithms, which rely heavily on certain data structures, as RPython | '''Twisted''' * Speed improvements to select and poll reactors * Reactor based on /dev/epoll * Better integration with psyco * Improvements against twisted benchmark |
Line 11: | Line 27: |
* Adding an iterator interface (similar to re.finditer) to the struct module | '''Psyco''' * Support for generator expressions * Support for nested scopes * Support for more dictionary operations * Speedup float arithmetic * Support for more built-ins (e.g. int(), long(), float(), etc.) * Upgrade for python 2.5 * Better tools for profiling psyco-ness of application * Investigate usefulness of IVM (with aim to producing a more streamlined dispatch loop) * LLVM backend * Virtualised longs (for long longs) * Virtualised slots (Ability to cache __getattribute__() values) |
Line 13: | Line 40: |
* Further refine the PyPy LLVM back end to improve general execution speeds | '''PyPy''' * JIT compiler * LLVM backend * RPython extension modules for CPython |
Line 15: | Line 45: |
* Offer the PyPy team a sprint venue to continue their development work on Python implementations written in Python * Create a string subtype that provides lazy slicing without copying |
'''Other''' * Improve PythonPerformanceTips * Improve code submissions to language shootout * Implement improvements in the Python Package Index |
Here are some topics that fit into the NeedForSpeed theme. You can add additional topics below.
Please discuss the specific goals and possible approaches to these problems!
CPython
- Implement attribute lookup PEPs (and other intrepreter speedups)
- Implement faster floating point ops
- Implement portions of decimal module in C
- Struct module improvements (e.g. struct.compile, struct.finditer)
- Create a string variant that provides lazy slicing without copying
- Allow selective removal of unused features (e.g. profiling support)
- Faster parsing of strings and bytes into int, long, etc.
- Buffer for use with network i/o
- More collections (ordered dictionary, red/black tree, pivot tables, skip lists, etc.)
Create a 64 bit PyInt type (for 32 bit machines)
- Optimize str object methods
- Improve timeit.py API
- Add itertools.imerge() and itertools.izip_longest()
Twisted
- Speed improvements to select and poll reactors
- Reactor based on /dev/epoll
- Better integration with psyco
- Improvements against twisted benchmark
Psyco
- Support for generator expressions
- Support for nested scopes
- Support for more dictionary operations
- Speedup float arithmetic
- Support for more built-ins (e.g. int(), long(), float(), etc.)
- Upgrade for python 2.5
- Better tools for profiling psyco-ness of application
- Investigate usefulness of IVM (with aim to producing a more streamlined dispatch loop)
- LLVM backend
- Virtualised longs (for long longs)
Virtualised slots (Ability to cache getattribute() values)
- JIT compiler
- LLVM backend
- RPython extension modules for CPython
Other
Improve PythonPerformanceTips
- Improve code submissions to language shootout
- Implement improvements in the Python Package Index