Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
|
python:optimisation_python [2017/11/24 16:36] marc dexet [Les solutions] |
python:optimisation_python [2017/11/24 16:41] (Version actuelle) marc dexet [Optimisation en Python] |
||
|---|---|---|---|
| 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 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 ==== | + | ====== Les anti-patterns ====== |
| TBD: mettre ici les doubles boucles python | TBD: mettre ici les doubles boucles python | ||
| - | ==== Les solutions ==== | + | ====== Les solutions ====== |
| TBD: refaire le benchmarking | TBD: refaire le benchmarking | ||
| - | === Numba === | + | ===== Numba ===== |
| - | <code> | + | https://github.com/numba/numba |
| + | TBD: Expliquer le contexte | ||
| + | |||
| + | <code python> | ||
| + | from numba import jit | ||
| + | |||
| + | @jit | ||
| + | def ma_function_a_optimiser(): | ||
| + | ... | ||
| </code> | </code> | ||