|
Size: 1671
Comment:
|
Size: 2143
Comment:
|
| 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: |
| CPython: * General interpreter speedups * Improve interaction with psyco |
Please discuss the specific goals and possible approaches to these problems! = CPython = * Implement PEPs for optimizing global and attribute lookups * [http://www.python.org/dev/peps/pep-0266/] * [http://www.python.org/dev/peps/pep-0267/] * [http://www.python.org/dev/peps/pep-0280/] * Implement faster floating point ops |
| Line 12: | Line 19: |
| * Better collections (ordered dictionary, linked list, red/black tree, etc.) * Create a 64 bit PyInt type |
* More collections * ordered dictionary * alternate list optimized for fast insertion and deletion * red/black tree * pivot tables * skip list * Create a 64 bit PyInt type (for 32 bit machines) * Optimize str object methods * Add itertools.imerge() and itertools.izip_longest() |
| Line 15: | Line 29: |
| Twisted: | = Pure Python Projects = * Improve language shootout submissions http://dada.perl.it/shootout/python.html * Improve the API for timeit.py * Update PythonPerformanceTips http://wiki.python.org/moin/PythonSpeed/PerformanceTips = Twisted = |
| Line 21: | Line 42: |
| Psyco: | = Psyco = |
| Line 25: | Line 46: |
| * Speedup float arithmetic | * Speedup float arithmetic |
| Line 34: | Line 55: |
| PyPy: | = PyPy = |
| Line 38: | Line 59: |
Other: * Implement many 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 PEPs for optimizing global and attribute lookups
- 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
- alternate list optimized for fast insertion and deletion
- red/black tree
- pivot tables
- skip list
Create a 64 bit PyInt type (for 32 bit machines)
- Optimize str object methods
- Add itertools.imerge() and itertools.izip_longest()
Pure Python Projects
- Improve language shootout submissions
- Improve the API for timeit.py
Update PythonPerformanceTips
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)
PyPy
- JIT compiler
- LLVM backend
- RPython extension modules for CPython
