Bloomberg open source memray, narzędzie do profilowania pamięci dla Pythona

Bloomberg ma open source memray, narzędzie do profilowania pamięci w aplikacjach Pythona. Program śledzi operacje alokacji pamięci w Pythonie i oferuje wizualny interfejs do analizy i optymalizacji zużycia pamięci przez różne sekcje kodu, a także wtyczki napisane w C/C++. Raporty można generować interaktywnie lub w formacie HTML. Zawiera interfejs CLI do zarządzania profilowaniem oraz bibliotekę, której można używać do śledzenia operacji na pamięci w projektach innych firm. Kod opublikowany jest na licencji Apache 2.0. Operacja jest obsługiwana tylko na platformie Linux.

Najważniejsze cechy:

  • Aplikacje: Identyfikuj przyczyny dużego zużycia pamięci w aplikacjach, znajduj wycieki pamięci i identyfikuj kod, który wykonuje zbyt wiele alokacji pamięci.
  • Śledzi wszystkie wywołania funkcji w odniesieniu do całkowitego zużycia pamięci, zużycia w ramach funkcji i liczby operacji alokacji pamięci. Możliwość dokładnego oszacowania stosu wywołań.
  • Przetwarzanie wywołań bibliotek w C/C++ i rozliczanie zużycia pamięci w modułach natywnych. Wsparcie dla analizy projektów przy użyciu numpy i pand.
  • Minimalny narzut i znikomy wpływ na wydajność analizowanej aplikacji. Opcja wyłączenia śledzenia kodu natywnego w celu poprawy wydajności.
  • Dostępność dużej liczby raportów wykorzystania pamięci, w tym wizualnych wykresów hierarchicznych i drabinkowych (wykres płomienia).
  • Umiejętność pracy z wątkami i analizowania pamięci w kontekście poszczególnych wątków. Obsługiwane są zarówno wątki Pythona, jak i wątki natywne, takie jak wątki C++ używane w modułach C/C++.
  • Możliwość integracji z pytestem i udostępnienia adnotacji pytest definiujących limity zużycia pamięci, w przypadku przekroczenia podczas wykonywania testu generowane będą ostrzeżenia.

Bloomberg open source memray, narzędzie do profilowania pamięci dla Pythona
Bloomberg open source memray, narzędzie do profilowania pamięci dla Pythona


Źródło: opennet.ru

Dodaj komentarz