Petite étude de la mémoire utilisée par les imports Python

Magazine
Marque
GNU/Linux Magazine
Numéro
252
Mois de parution
octobre 2021
Spécialité(s)


Résumé

Python est un langage de haut niveau, ce qui permet de ne pas avoir à se soucier de l’allocation/désallocation mémoire. Mais cela ne doit pas nous empêcher d’y réfléchir un minimum, de manière à ne pas gaspiller inutilement une ressource qui peut bien vite devenir limitée...


Lorsque l’on code en Python, il est très agréable de pouvoir utiliser des modules sans avoir à réinventer la roue (carrée, bien souvent). Pourtant, il faut garder à l’esprit que ces quelques lignes d’import, en apparence anodines, peuvent entraîner un accroissement très important de la quantité de mémoire utilisée par un script.

Dans cet article, nous allons étudier cela en analysant différents exemples de code.

1. Un outil pour mesurer la mémoire utilisée… et ses limites

Nous allons utiliser le module memory_profiler qui fournit un décorateur @profile permettant une analyse du code de la fonction décorée ligne par ligne. L’affichage indique la mémoire totale utilisée ainsi que l’augmentation ou la diminution par rapport à la ligne précédente.

Pour installer le module, nous passerons bien évidemment par Pip :

$ pip install…
La suite est réservée aux abonnés. Il vous reste 96% à découvrir.
  • 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
Envie de lire la suite ? Rejoignez Connect
Je m'abonne maintenant