17.12.2012 Views

Programmation PYTHON - Zenk - Security - Repository

Programmation PYTHON - Zenk - Security - Repository

Programmation PYTHON - Zenk - Security - Repository

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Bonnes pratiques et optimisation du code<br />

CHAPITRE 13<br />

setup (name="calculs", version="0.1 beta", ext_modules=[extension],<br />

maintainer="Tarek Ziadé", maintainer_email="tarek@ziade.org",<br />

description="Exemple d'extension en C")<br />

Ce module est ensuite invoqué en ligne de commande, avec l’option build pour<br />

compiler le module d’extension, et install pour le placer dans l’interpréteur.<br />

Installation de l’extension sous GNU/Linux<br />

$ python setup.py build<br />

running build<br />

running build_ext<br />

building 'calculs' extension<br />

gcc -pthread -fno-strict-aliasing -DNDEBUG -O2 -fomit-frame-pointer<br />

-pipe -march=i586 -mtune=pentiumpro -g -fPIC -I/usr/include/python2.4 -c<br />

calculs.c -o build/temp.linux-i686-2.4/calculs.o<br />

creating build/lib.linux-i686-2.4<br />

gcc -pthread -shared build/temp.linux-i686-2.4/calculs.o -o build/<br />

lib.linux-i686-2.4/calculs.so<br />

$ su<br />

Password:<br />

# python setup.py install<br />

running install<br />

running build<br />

running build_ext<br />

running install_lib<br />

copying build/lib.linux-i686-2.4/calculs.so -> /usr/lib/python2.4/<br />

site-packages<br />

Le module est à présent installé et utilisable dans le prompt.<br />

Test de l’extension<br />

>>> import calculs<br />

>>> calculs.max(9, 8)<br />

9<br />

>>> calculs.max.__doc__<br />

'Calcul le max de deux nombres'<br />

Optimisation de l’utilisation de mémoire vive<br />

Les problématiques de performances liées à une quantité restreinte de mémoire sont<br />

de moins en moins fréquentes pour la bonne et simple raison que son prix est devenu<br />

ridicule. Dans les années 1970 et 1980, optimiser la taille mémoire d’un programme<br />

475

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!