Differences between revisions 3 and 12 (spanning 9 versions)
Revision 3 as of 2006-05-03 15:45:08
Size: 1671
Editor: 66
Comment:
Revision 12 as of 2006-05-03 17:17:13
Size: 2143
Editor: 66
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

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

NeedForSpeed/Goals (last edited 2008-11-15 13:59:37 by localhost)

Unable to edit the page? See the FrontPage for instructions.