Psyco es un compilador especializado en tiempo real sin mantenimiento para Python anterior a la versión 2.7 , desarrollado originalmente por Armin Rigo y mantenido y desarrollado por Christian Tismer. El desarrollo cesó en diciembre de 2011. [1]
Psyco se ejecutaba en sistemas operativos derivados de BSD , Linux , Mac OS X y Microsoft Windows , utilizando procesadores compatibles con Intel de 32 bits . Psyco estaba escrito en C y generaba solo código basado en x86 de 32 bits .
Aunque Tismer anunció el 17 de julio de 2009 que se estaba trabajando en una segunda versión de Psyco, [2] un anuncio posterior declaró que el proyecto "no tenía mantenimiento y estaba muerto" el 12 de marzo de 2012 y dirigió a los visitantes a PyPy en su lugar. [3] A diferencia de Psyco, PyPy incorpora un intérprete y un compilador que puede generar C, lo que mejora su compatibilidad multiplataforma con respecto a Psyco.
Psyco puede acelerar notablemente las aplicaciones limitadas por la CPU. El rendimiento real depende en gran medida de la aplicación y varía desde una ligera desaceleración hasta una aceleración de 100x. [4] [5] [6] [7] La mejora de velocidad promedio suele estar en el rango de 1,5 a 4x, lo que hace que el rendimiento de Python se acerque a lenguajes como Smalltalk y Scheme , pero aún más lento que los lenguajes compilados como Fortran , C o algunos otros lenguajes JIT como C# y Java . [8]
Psyco también publicita su facilidad de uso: la optimización más simple de Psyco implica agregar solo dos líneas en la parte superior de un script: [9]
importar psyco psyco . completo ()
Estos comandos importarán el módulo psyco y harán que Psyco optimice todo el script. Este enfoque es más adecuado para scripts más cortos, pero demuestra la cantidad mínima de trabajo necesaria para comenzar a aplicar optimizaciones de Psyco a un programa existente.