Présentation de Numba, un package qui réalise la compilation à la volée (JIT – Just in Time Compiler) du code Python en instructions machines. Les performances se rapprochent des langages tels que C ou Fortran. Le dispositif est très facile à mettre en œuvre, avec à la clé des gains en temps d’exécution réellement spectaculaires. Je montre cela dans un exemple de tri à bulles d’un vecteur de valeurs flottantes Numpy. Je montre également qu’il est possible de gagner encore davantage en exploitant à bon escient les possibilités de l’outil en termes de parallélisation des calculs.
Site de Numba : https://numba.pydata.org/
Documentation : https://numba.readthedocs.io/en/stable/index.html
Notebook : http://tutoriels-data-science.blogspot.com/p/tutoriels-en-francais.html
00:00 Performances de Python - La librairie "Numba"
06:31 Présence de "Numba" dans l'environnement "base" d'Anaconda
07:40 Démarrage du notebook
07:57 Vérification des versions
08:09 Génération des valeurs du vecteur à trier
08:38 Fonction 1 - Recherche des extremums via un tri à bulles
09:21 Fonction 2 - Etendue d'un vecteur de valeurs
10:19 Temps de traitement - Python usuel
13:03 "Décorateurs" Numba pour "compiler" les fonctions
14:18 Gains en temps de traitement - Python + Numba
16:16 Parallélisation - Gains en temps de traitement