Outils pour utilisateurs

Outils du site


psyco

Ceci est une ancienne révision du document !


Accélération des programmes grâce à "psyco"

Introduction

psyco est un module qu'on installe et qui permet d'accélérer l'exécution de n'importe quel programme Python de x2 à x100.

En fait, psyco ajoute une compilation en code machine alors que la compilation normale de Python s'arrête aux “bytecodes” qui sont eux-même interprétés.

De ce fait, psyco est limité aux processeurs de type i386.

Installation de psyco

Windows

Téléchargement de la version exécutable Windows psyco-1.6.win32-py25.exe (pour Python version 2.5) trouvée ici: http://sourceforge.net/project/showfiles.php?group_id=41036

Pour l'installation, il suffit d'exécuter ce programme, et le module psyco vient se loger dans C:\Python25\Lib\site-packages.

Si vous avez une version de Python inférieure à 2.5, cherchez le bon programme au même endroit (pour Python v 2.4 ou 2.3).

Linux

Pour Linux, il est conseillé de partir de la source et de la compiler.

Téléchargement de psyco-1.6-src.tar.gz trouvé ici: http://sourceforge.net/project/showfiles.php?group_id=41036

On désarchive dans le répertoire site-packages de Python (sous la suse 10.3, c'est: /usr/lib/python2.5/site-packages)

Il faut avoir installé tout ce qu'il faut pour une compilation: à voir selon votre distribution. Pour la mienne (suse 10.3), c'est:

  • gcc
  • binutils
  • make
  • kernel-source
  • kernel-sym
  • python-devel

En console sous root, on se place dans le répertoire en question (chez moi: /usr/lib/python2.5/site-packages/psyco-1.6). Et on fait:

python setup.py install

S'il y une une erreur, c'est qu'il manque quelque chose pour la compilation dans votre distribution: lisez les codes d'erreur. S'il n'y a pas d'erreur: ça y est, vous avez psyco!

Utilisation

Dans le code du programme principal, vous mettez par exemple:

if __name__ == "__main__":
    try:
        import psyco
        psyco.full()
    except ImportError:
        pass
    ...
    suite de votre programme
    ...

L'avantage, c'est que si le module psyco n'est pas disponible, votre programme s'exécutera normalement (non-accéléré).

Et c'est tout!

psyco.1214895370.txt.gz · Dernière modification: 2008/07/01 08:56 de tyrtamos

Outils de la page