Bloomberg open source memray, ett minnesprofileringsverktyg för Python

Bloomberg har öppna källkod memray, ett verktyg för profilering av minne i Python-applikationer. Programmet spårar minnesallokeringsoperationer i Python och erbjuder ett visuellt gränssnitt för att analysera och optimera minnesförbrukningen för olika kodsektioner, samt plugin-program skrivna i C/C++. Rapporter kan genereras antingen interaktivt eller genereras i HTML-format. Den innehåller ett CLI-gränssnitt för att hantera profilering och ett bibliotek som kan användas för att spåra minnesoperationer i tredjepartsprojekt. Koden publiceras under Apache 2.0-licensen. Drift stöds endast på Linux-plattformen.

Viktiga funktioner:

  • Applikationer: Identifiera orsaker till hög minnesförbrukning i applikationer, hitta minnesläckor och identifiera kod som utför för många minnesallokeringar.
  • Spårar alla funktionsanrop i förhållande till total minnesförbrukning, förbrukning inom funktionen och antalet minnesallokeringsoperationer. Möjlighet att exakt uppskatta samtalsstacken.
  • Bearbetar anrop till bibliotek i C/C++ och tar hänsyn till minnesförbrukning i inbyggda moduler. Stöd för att analysera projekt med hjälp av numpy och pandor.
  • Minimal omkostnad och försumbar påverkan på den analyserade applikationens prestanda. Möjlighet att inaktivera inbyggd kodspårning för att förbättra prestandan.
  • Tillgänglighet för ett stort antal minnesanvändningsrapporter, inklusive visuella hierarkiska grafer och stegdiagram (flame graph).
  • Förmåga att arbeta med trådar och analysera minne i samband med enskilda trådar. Både Python-trådar och inbyggda trådar, såsom C++-trådar som används i C/C++-moduler, stöds.
  • Möjlighet till integration med pytest och tillhandahållande av pytest-kommentarer som definierar minnesförbrukningsgränser, om de överskrids kommer varningar att genereras under testkörning.

Bloomberg open source memray, ett minnesprofileringsverktyg för Python
Bloomberg open source memray, ett minnesprofileringsverktyg för Python


Källa: opennet.ru

Lägg en kommentar