Outils pour utilisateurs

Outils du site


python:optimisation_python

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
python:optimisation_python [2017/11/24 15:31] – marc dexetpython:optimisation_python [2017/11/24 15:41] (Version actuelle) – [Optimisation en Python] marc dexet
Ligne 4: Ligne 4:
 C'est une démarche délicate et parfois chronophage. C'est une démarche délicate et parfois chronophage.
  
-Il faut parfois évaluer le coût de l'optimisation au regard du bénéfice obtenu.+**Il faut parfois évaluer le coût de l'optimisation au regard du bénéfice obtenu.**
  
 ===== Attention à l'optimisation prématurée ===== ===== Attention à l'optimisation prématurée =====
Ligne 16: Ligne 16:
 Cela signifie que chercher l'optimisation avant de s'être assurer que le code fait bien ce que l'on attend de lui est contre-productif et met en péril la maintenabilité du code. Cela signifie que chercher l'optimisation avant de s'être assurer que le code fait bien ce que l'on attend de lui est contre-productif et met en péril la maintenabilité du code.
  
-===== Le bon outil pour le bon usage =====+==== Le bon outil pour le bon usage ====
  
 Une  exception notable est la manipulation d'ensembles de valeurs //qui peuvent devenir conséquents// avec les seules types python (dict, list, ...). Une  exception notable est la manipulation d'ensembles de valeurs //qui peuvent devenir conséquents// avec les seules types python (dict, list, ...).
Ligne 22: Ligne 22:
 Pour le calcul, Python n'est pas un outil très pertinent. Il est nécessaire de s'appuyer sur des librairies spécialisées comme http://www.numpy.org/ qui sont écrites en C++. Pour le calcul, Python n'est pas un outil très pertinent. Il est nécessaire de s'appuyer sur des librairies spécialisées comme http://www.numpy.org/ qui sont écrites en C++.
  
 +====== Les anti-patterns ======
 +
 +TBD:  mettre ici les doubles boucles python
 +
 +====== Les solutions ======
 +
 +TBD: refaire le benchmarking 
 +
 +===== Numba =====
 +
 +https://github.com/numba/numba
 +
 +TBD: Expliquer le contexte
 +
 +<code python>
 +from numba import jit
 +
 +@jit
 +def ma_function_a_optimiser():
 +   ...
 +</code>
  
python/optimisation_python.1511537490.txt.gz · Dernière modification : de marc dexet