Il y a quelques mois, je vous parlais déjà d'optimisation dans un cadre plus générique et nous avions pu tester rapidement le module Numba et le compilateur Cython [1]. Je vous propose de revenir sur l'utilisation de ces méthodes que nous élargirons à d'autres techniques telles que le calcul en parallèle ou l'utilisation d'un GPU pour optimiser l'exécution d'un code Python.
1. Le code de test : une fractale
Pour pouvoir effectuer nos tests, il nous faut un programme qui demande un minimum de ressources à la machine et qui soit « parallélisable » (nous reviendrons sur cette notion par la suite). Je cherchais un code possédant ces qualités et qui soit en même temps assez simple à comprendre lorsque j'eus l'idée d'utiliser un ensemble de Mandelbrot : l'algorithme est court, compréhensible, parallélisable et, cerise sur le gâteau, on obtient de très jolies figures ! Si pour vous les fractales n'ont plus de secret, vous pouvez vous rendre directement en section...
- Accédez à tous les contenus de Connect en illimité
- Découvrez des listes de lecture et des contenus Premium
- Consultez les nouveaux articles en avant-première