Differences between revisions 11 and 12
Revision 11 as of 2006-05-03 17:12:56
Size: 2198
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 32: Line 32:
 * Extend webbrowser.py to provide more control
Line 34: Line 33:
 * Build extensions to the time module to enhance timezone support
 * Improve PythonPerformanceTips
 * Update PythonPerformanceTips
      http://wiki.python.org/moin/PythonSpeed/PerformanceTips

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.