Bloomberg are memray cu sursă deschisă, un instrument de profilare a memoriei în aplicațiile Python. Programul urmărește operațiunile de alocare a memoriei în Python și oferă o interfață vizuală pentru analizarea și optimizarea consumului de memorie a diferitelor secțiuni de cod, precum și plug-in-uri scrise în C/C++. Rapoartele pot fi generate fie interactiv, fie generate în format HTML. Include o interfață CLI pentru gestionarea profilării și o bibliotecă care poate fi utilizată pentru a urmări operațiunile de memorie în proiecte terțe. Codul este publicat sub licența Apache 2.0. Operarea este acceptată numai pe platforma Linux.
Caracteristici principale:
- Aplicații: identificați motivele pentru consumul ridicat de memorie în aplicații, găsiți scurgeri de memorie și identificați codul care realizează prea multe alocări de memorie.
- Urmărește toate apelurile de funcții în raport cu consumul total de memorie, consumul în cadrul funcției și numărul de operațiuni de alocare a memoriei. Abilitatea de a estima cu precizie stiva de apeluri.
- Procesarea apelurilor către biblioteci în C/C++ și contabilizarea consumului de memorie în modulele native. Suport pentru analiza proiectelor folosind numpy și panda.
- Suplimentar minim și impact neglijabil asupra performanței aplicației analizate. Opțiune pentru a dezactiva urmărirea codului nativ pentru a îmbunătăți performanța.
- Disponibilitatea unui număr mare de rapoarte de utilizare a memoriei, inclusiv grafice ierarhice vizuale și ladder (graficul flacără).
- Abilitatea de a lucra cu fire și de a analiza memoria în contextul firelor individuale. Sunt acceptate atât firele Python, cât și firele native, cum ar fi firele C++ utilizate în modulele C/C++.
- Posibilitatea de integrare cu pytest și furnizarea de adnotări pytest care definesc limitele de consum de memorie, dacă sunt depășite, vor fi generate avertismente în timpul execuției testului.
Sursa: opennet.ru