Differences between revisions 13 and 16 (spanning 3 versions)
Revision 13 as of 2006-05-03 17:39:04
Size: 2590
Editor: 66
Comment:
Revision 16 as of 2006-05-03 22:53:44
Size: 2858
Editor: 66
Comment:
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
Here are some topics that fit into the NeedForSpeed theme. You can add additional topics below. '''Sprint topics following the NeedForSpeed theme'''
Line 3: Line 3:
Please discuss the specific goals and possible approaches to these problems! You can add additional topics below. Please discuss the specific goals and possible approaches to these tasks!
Line 8: Line 8:
   * [http://www.python.org/dev/peps/pep-0266/]
   * [http://www.python.org/dev/peps/pep-0267/]
   * [http://www.python.org/dev/peps/pep-0280/]
   [http://www.python.org/dev/peps/pep-0266/ PEP 266],
   [http://www.python.org/dev/peps/pep-0267/ PEP 267],
   and [http://www.python.org/dev/peps/pep-0280/ PEP 280]
Line 13: Line 13:
Line 14: Line 15:
Line 15: Line 17:
Line 16: Line 19:
Line 17: Line 21:
Line 18: Line 23:
Line 19: Line 25:
Line 25: Line 32:
Line 26: Line 34:
Line 27: Line 36:
Line 29: Line 39:
 * Guido has a standing request to have threading.py written in C

 * Revisit Armin's Zombie frame idea for reducing function call overhead. IIRC, the unsolved problem was how to save partially constructed frames without impacting the performance of recursive functions.

Line 30: Line 45:
 * Improve language shootout submissions
   
http://dada.perl.it/shootout/python.html

* Improve [http://dada.perl.it/shootout/python.html language shootout] submissions
Line 33: Line 49:
 * Update PythonPerformanceTips
      http://wiki.python.org/moin/
PythonSpeed/PerformanceTips

* Update PythonSpeed/PerformanceTips
Line 37: Line 54:
Line 38: Line 56:
Line 39: Line 58:
Line 40: Line 60:
Line 41: Line 62:

Sprint topics following the NeedForSpeed theme

You can add additional topics below. Please discuss the specific goals and possible approaches to these tasks!

CPython

  • Implement PEPs for optimizing global and attribute lookups
  • Can floating point ops be sped-up by avoiding flag/exception checks at every step? Can some floating point ops be in-lined in ceval.c?
  • Implement portions of the decimal module in C
  • Build-out struct module to support fast, high-volume binary conversions -- perhaps with regexp analogs such struct.compile() and struct.finditer()
  • Create a string subclass that provides lazy slicing without copying
  • Allow selective removal of unused features such as profiling support
  • Faster parsing of strings and bytes into int, long, etc.
  • Buffer for use with network I/O
  • Build-out the collections module for optimized data structures:
    • ordered dictionary
    • alternate list implementation optimized for fast insertion and deletion
    • red/black tree
    • pivot tables
    • skip list
  • Create a 64 bit PyInt type (for 32 bit machines)

  • Optimize methods in stringobject.c
  • Add itertools.imerge() and itertools.izip_longest()
  • Guido has a standing request to have threading.py written in C
  • Revisit Armin's Zombie frame idea for reducing function call overhead. IIRC, the unsolved problem was how to save partially constructed frames without impacting the performance of recursive functions.

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
  • Virtualized longs (for long longs)
  • Virtualized slots (Ability to cache getattribute() values)

PyPy

  • JIT compiler
  • LLVM backend
  • RPython extension modules for CPython

Py3000

  • Make a wishlist for possible performance gains in Py3.0

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

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