Python Perfs: README.

This commit is contained in:
Julien Palard 2023-06-15 14:33:21 +02:00
parent 3de4c0147b
commit 961ed66b79
Signed by: mdk
GPG Key ID: 0EFC1AC1006886F8
1 changed files with 45 additions and 0 deletions

45
python-perfs/README.md Normal file
View File

@ -0,0 +1,45 @@
# Python Performances
## Description
Destinée aux développeurs Python aguerris, cette formation approche
les différents moyens daméliorer les performances dun programme
écrit en Python.
## Les objectifs
- Savoir mesurer les performances dun 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.