Differences between revisions 1 and 9 (spanning 8 versions)
Revision 1 as of 2006-05-01 22:48:04
Size: 1030
Editor: SteveHolden
Comment:
Revision 9 as of 2006-05-03 16:36:35
Size: 1864
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:
 * Improving the decimal module by implementing portions in C Please discuss the specific goals and possible approaches to these problems!
Line 5: Line 5:
 * Investigate whether RPython offers sufficient speedup over the regular CPython interpreter to replace tailored C and C++ code in MMP gaming applications
Line 7: Line 6:
 * Implement an ordered dictionary in both C and Python '''CPython'''
 * Implement attribute lookup PEPs (and other intrepreter speedups)
 * 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, red/black tree, pivot tables, skip lists, etc.)
 * Create a 64 bit PyInt type (for 32 bit machines)
 * Optimize str object methods
 * Improve timeit.py API
 * Add itertools.imerge() and itertools.izip_longest()
Line 9: Line 21:
 * Implement data-structure-specific algorithms, which rely heavily on certain data structures, as RPython '''Twisted'''
 * Speed improvements to select and poll reactors
 * Reactor based on /dev/epoll
 * Better integration with psyco
 * Improvements against twisted benchmark
Line 11: Line 27:
 * Adding an iterator interface (similar to re.finditer) to the struct module '''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)
Line 13: Line 40:
 * Further refine the PyPy LLVM back end to improve general execution speeds '''PyPy'''
 * JIT compiler
 * LLVM backend
 * RPython extension modules for CPython
Line 15: Line 45:
 * Offer the PyPy team a sprint venue to continue their development work on Python implementations written in Python

 * Create a string subtype that provides lazy slicing without copying
'''Other'''
 * Improve PythonPerformanceTips
 * Improve code submissions to language shootout
 * Implement 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 attribute lookup PEPs (and other intrepreter speedups)
  • 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, red/black tree, pivot tables, skip lists, etc.)
  • Create a 64 bit PyInt type (for 32 bit machines)

  • Optimize str object methods
  • Improve timeit.py API
  • Add itertools.imerge() and itertools.izip_longest()

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

Other

  • Improve PythonPerformanceTips

  • Improve code submissions to language shootout
  • Implement improvements in the Python Package Index

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

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