Bloomberg open source memray, nástroj pro profilování paměti pro Python

Bloomberg má open source memray, nástroj pro profilování paměti v aplikacích Python. Program sleduje operace alokace paměti v Pythonu a nabízí vizuální rozhraní pro analýzu a optimalizaci spotřeby paměti různých částí kódu, stejně jako zásuvných modulů napsaných v C/C++. Zprávy mohou být generovány interaktivně nebo ve formátu HTML. Obsahuje rozhraní CLI pro správu profilování a knihovnu, kterou lze použít ke sledování operací s pamětí v projektech třetích stran. Kód je publikován pod licencí Apache 2.0. Operace je podporována pouze na platformě Linux.

Základní možnosti:

  • Aplikace: Identifikujte důvody vysoké spotřeby paměti v aplikacích, najděte úniky paměti a identifikujte kód, který provádí příliš mnoho alokací paměti.
  • Sleduje všechna volání funkcí ve vztahu k celkové spotřebě paměti, spotřebě v rámci funkce a počtu operací alokace paměti. Schopnost přesně odhadnout zásobník hovorů.
  • Zpracování volání do knihoven v C/C++ a účtování spotřeby paměti v nativních modulech. Podpora pro analýzu projektů pomocí numpy a pandy.
  • Minimální režie a zanedbatelný dopad na výkon analyzované aplikace. Možnost deaktivovat sledování nativního kódu pro zlepšení výkonu.
  • Dostupnost velkého množství zpráv o využití paměti, včetně vizuálních hierarchických a žebříkových grafů (plamenný graf).
  • Schopnost pracovat s vlákny a analyzovat paměť v kontextu jednotlivých vláken. Podporována jsou jak vlákna Pythonu, tak nativní vlákna, jako jsou vlákna C++ používaná v modulech C/C++.
  • Možnost integrace s pytestem a poskytování anotací pytestu, které definují limity spotřeby paměti, při překročení budou během provádění testu generována varování.

Bloomberg open source memray, nástroj pro profilování paměti pro Python
Bloomberg open source memray, nástroj pro profilování paměti pro Python


Zdroj: opennet.ru

Přidat komentář