Bloomberg open source memray, een geheugenprofileringstool voor Python

Bloomberg heeft open source memray, een hulpmiddel voor het profileren van geheugen in Python-applicaties. Het programma houdt geheugentoewijzingsbewerkingen bij in Python en biedt een visuele interface voor het analyseren en optimaliseren van het geheugengebruik van verschillende delen van de code, evenals plug-ins geschreven in C/C++. Rapporten kunnen interactief worden gegenereerd of in HTML-formaat worden gegenereerd. Het bevat een CLI-interface voor het beheren van profilering en een bibliotheek die kan worden gebruikt om geheugenbewerkingen in projecten van derden bij te houden. De code wordt gepubliceerd onder de Apache 2.0-licentie. De werking wordt alleen ondersteund op het Linux-platform.

Belangrijkste kenmerken:

  • Toepassingen: Identificeer redenen voor een hoog geheugengebruik in toepassingen, spoor geheugenlekken op en identificeer code die te veel geheugentoewijzingen uitvoert.
  • Houdt alle functieaanroepen bij in relatie tot het totale geheugengebruik, het verbruik binnen de functie en het aantal geheugentoewijzingsbewerkingen. Mogelijkheid om de call-stack nauwkeurig in te schatten.
  • Het verwerken van aanroepen naar bibliotheken in C/C++ en het bijhouden van het geheugengebruik in native modules. Ondersteuning voor het analyseren van projecten met numpy en panda's.
  • Minimale overhead en verwaarloosbare impact op de prestaties van de geanalyseerde applicatie. Optie om het bijhouden van native code uit te schakelen om de prestaties te verbeteren.
  • Beschikbaarheid van een groot aantal geheugengebruiksrapporten, inclusief visuele hiërarchische en laddergrafieken (vlamgrafiek).
  • Mogelijkheid om met threads te werken en geheugen te analyseren in de context van individuele threads. Zowel Python-threads als native threads, zoals C++-threads die worden gebruikt in C/C++-modules, worden ondersteund.
  • Mogelijkheid tot integratie met pytest en het aanbieden van pytest-annotaties die geheugenverbruikslimieten definiëren. Bij overschrijding worden waarschuwingen gegenereerd tijdens de uitvoering van de test.

Bloomberg open source memray, een geheugenprofileringstool voor Python
Bloomberg open source memray, een geheugenprofileringstool voor Python


Bron: opennet.ru

Voeg een reactie