Differences between revisions 13 and 14
Revision 13 as of 2006-05-03 17:39:04
Size: 2590
Editor: 66
Comment:
Revision 14 as of 2006-05-03 18:55:52
Size: 2540
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 30: Line 30:
 * 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 32:
 * Update PythonPerformanceTips
      http://wiki.python.org/moin/
PythonSpeed/PerformanceTips
 * Update PythonSpeed/PerformanceTips

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()

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.