Psyco

From Wikipedia, the free encyclopedia
Jump to: navigation, search
Psyco
Developer(s) Armin Rigo, Christian Tismer
Stable release 1.6 / December 16, 2007; 6 years ago (2007-12-16)
Written in C, Python
Operating system Cross-platform
Type Just-in-time compiler
License MIT License
Website psyco.sourceforge.net

Psyco is a specializing just-in-time compiler for Python originally developed by Armin Rigo and further maintained and developed by Christian Tismer.

Psyco runs on BSD-derived operating systems, Linux, Mac OS X and Microsoft Windows using 32-bit Intel-compatible processors. Psyco is written in C and generates only x86-based code. A follow-up project to Psyco is PyPy, which incorporates an interpreter and a compiler that can generate C, improving its cross-platform compatibility over Psyco. Both parts are written in Python, but the interpreter is restricted to a subset of Python, called RPython.

Speed enhancement[edit]

Psyco can noticeably speed up CPU-bound applications. The actual performance depends greatly on the application and varies from a slight slowdown to a 100x speedup.[1][2][3][4] The average speed improvement is typically in the 1.5-4x range, making Python performance close to languages such as Smalltalk and Scheme, but still slower than compiled languages such as Fortran, C or some other JIT languages like C# and Java.[5]

Psyco also advertises its ease of use: the simplest Psyco optimization involves adding only two lines to the top of a script:[6]

import psyco
psyco.full()

These commands will import the psyco module, and have Psyco optimize the entire script. This approach is best suited to shorter scripts, but demonstrates the minimal amount of work needed to begin applying Psyco optimizations to an existing program.

Further work[edit]

On July 17, 2009, Christian Tismer announced that work is being done on Psyco V2.[7] However, on March 12, 2012, Psyco was announced to be "unmaintained and dead".[8]

See also[edit]

References[edit]

  1. ^ "Python Psyco benchmarks". Retrieved 2008-04-24. 
  2. ^ "Python Psyco Homepage at sourceforge". Retrieved 2009-03-04. 
  3. ^ "A beginners guide to using Python for performance computing at scipy.org". Retrieved 2009-03-04. 
  4. ^ "Charming Python: Make Python run as fast as C with Psyco". Retrieved 2009-03-04. 
  5. ^ "Boxplot Summary". Retrieved 2009-10-16. 
  6. ^ Rigo, Armin. "Quick examples". The Ultimate Psyco Guide. Retrieved 3 June 2011. 
  7. ^ "Announcement on pypy-dev mailing list with links to project page". 
  8. ^ "Psyco Homepage". 

External links[edit]