Psyco
Developer(s) | Armin Rigo, Christian Tismer |
---|---|
Final release | 1.6
/ December 16, 2007 |
Repository | |
Written in | C,Python |
Operating system | Cross-platform |
Platform | 32-bitx86only |
Type | Just-in-time compiler |
License | MIT License |
Website | psyco |
Psycois an unmaintainedspecializingjust-in-time compilerfor pre-2.7Pythonoriginally developed byArmin Rigoand further maintained and developed byChristian Tismer.Development ceased in December, 2011.[1]
Psyco ran onBSD-derived operating systems,Linux,Mac OS XandMicrosoft Windowsusing32-bitIntel-compatible processors. Psyco was written inCand generated only 32-bitx86-based code.
Although Tismer announced on 17 July 2009 that work was being done on a second version of Psyco,[2]a further announcement declared the project "unmaintained and dead" on 12 March 2012 and pointed visitors toPyPyinstead.[3]Unlike Psyco, PyPy incorporates an interpreter and a compiler that can generate C, improving its cross-platform compatibility over Psyco.
Speed enhancement
[edit]![]() | This section'sfactual accuracymay be compromised due to out-of-date information.(September 2018) |
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.[4][5][6][7] The average speed improvement is typically in the 1.5-4x range, making Python performance close to languages such asSmalltalkandScheme,but still slower than compiled languages such asFortran,Cor some otherJITlanguages likeC#andJava.[8]
Psyco also advertises its ease of use: the simplest Psyco optimization involves adding only two lines to the top of a script:[9]
importpsyco
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.
See also
[edit]- PyPy
- Unladen Swallow
- Cython
- YARV(Yet another Ruby VM)
References
[edit]- ^"psyco / Commits".Bitbucket.Armin Rigo.
- ^Tismer, Christian (17 July 2009)."[pypy-dev] ANN: psyco V2".pypy-dev mailing list.
- ^"Psyco Homepage".
- ^"Python Psyco benchmarks".Archived fromthe originalon 2008-06-06.Retrieved2008-04-24.
- ^"Python Psyco Homepage at sourceforge".Retrieved2009-03-04.
- ^"A beginners guide to using Python for performance computing at scipy.org".Archived fromthe originalon 2009-03-11.Retrieved2009-03-04.
- ^"Charming Python: Make Python run as fast as C with Psyco".IBM.Retrieved2009-03-04.
- ^"Boxplot Summary".Archived fromthe originalon 2011-06-03.Retrieved2009-10-16.
- ^Rigo, Armin."Quick examples".The Ultimate Psyco Guide.Retrieved3 June2011.
External links
[edit]- PsycoonSourceForge
- David Mertz'sIBM developerWorksarticle:Make Python run as fast as C with Psyco
- psyco notes, Poor Yorick