Bloomberg open source memray, un outil de profilage de mémoire pour Python

Bloomberg propose memray open source, un outil de profilage de la mémoire dans les applications Python. Le programme suit les opérations d'allocation de mémoire en Python et propose une interface visuelle pour analyser et optimiser la consommation de mémoire de différentes sections de code, ainsi que des plug-ins écrits en C/C++. Les rapports peuvent être générés de manière interactive ou générés au format HTML. Il comprend une interface CLI pour gérer le profilage et une bibliothèque qui peut être utilisée pour suivre les opérations de mémoire dans des projets tiers. Le code est publié sous la licence Apache 2.0. Le fonctionnement est pris en charge uniquement sur la plate-forme Linux.

Principales caractéristiques:

  • Applications : identifiez les raisons de la consommation élevée de mémoire dans les applications, recherchez les fuites de mémoire et identifiez le code qui effectue trop d'allocations de mémoire.
  • Suit tous les appels de fonction par rapport à la consommation totale de mémoire, à la consommation au sein de la fonction et au nombre d'opérations d'allocation de mémoire. Capacité à estimer avec précision la pile d’appels.
  • Traitement des appels aux bibliothèques en C/C++ et prise en compte de la consommation mémoire dans les modules natifs. Prise en charge de l'analyse de projets à l'aide de numpy et de pandas.
  • Frais généraux minimes et impact négligeable sur les performances de l’application analysée. Option pour désactiver le suivi du code natif pour améliorer les performances.
  • Disponibilité d'un grand nombre de rapports d'utilisation de la mémoire, y compris des graphiques visuels hiérarchiques et en échelle (flame graph).
  • Capacité à travailler avec des threads et à analyser la mémoire dans le contexte de threads individuels. Les threads Python et les threads natifs, tels que les threads C++ utilisés dans les modules C/C++, sont pris en charge.
  • Possibilité d'intégration avec pytest et fourniture d'annotations pytest qui définissent les limites de consommation de mémoire, en cas de dépassement, des avertissements seront générés lors de l'exécution du test.

Bloomberg open source memray, un outil de profilage de mémoire pour Python
Bloomberg open source memray, un outil de profilage de mémoire pour Python


Source: opennet.ru

Ajouter un commentaire