Python Perfs: README.
This commit is contained in:
parent
3de4c0147b
commit
961ed66b79
|
@ -0,0 +1,45 @@
|
|||
# Python Performances
|
||||
|
||||
## Description
|
||||
|
||||
Destinée aux développeurs Python aguerris, cette formation approche
|
||||
les différents moyens d’améliorer les performances d’un programme
|
||||
écrit en Python.
|
||||
|
||||
|
||||
## Les objectifs
|
||||
|
||||
- Savoir mesurer les performances d’un programme et identifier les goulots d’étranglement.
|
||||
- Prendre conscience des impacts des différentes structures de données, de leur complexité algorithmique.
|
||||
- Découvrir les différents "JIT" (*Just-In-Time* compilation) de l’écosystème Python.
|
||||
- Découvrir la variété des interpréteurs Python et leurs caractéristiques.
|
||||
- Entrelacer du code natif et du Python.
|
||||
|
||||
|
||||
## Pré-requis
|
||||
|
||||
- Excellente connaissance du langage, du niveau de la formation « Python avancé ».
|
||||
|
||||
|
||||
## Programme
|
||||
|
||||
Bien choisir sa structure de donnée :
|
||||
|
||||
- comparaison asymptotique,
|
||||
- comprendre les implémentations `O(1)`.
|
||||
|
||||
Les outils de mesure :
|
||||
|
||||
- Les outils extérieurs à Python (`time`, `hyperfine`, …).
|
||||
- Configurer sa machine pour avoir des mesures reproductibles.
|
||||
- Les outils de la bibliothèque standard (`cProfile`, `pstats`, `timeit`).
|
||||
- Les outils tiers (`pyperf`, `snakeviz`, `Scalene`, `vprof`, …).
|
||||
|
||||
Les JIT, compilateurs, et interpréteurs tiers :
|
||||
|
||||
- PyPy, numba, cython, pythran, nuitka, mypyc, pyston, …
|
||||
|
||||
Utiliser du code natif pour optimiser ponctuellement :
|
||||
|
||||
- Interfacer du C ou du C++ avec Python en utilisant cython.
|
||||
- Rédiger un module Python en C.
|
Loading…
Reference in New Issue