Bloomberg ima open source memray, alat za profiliranje memorije u Python aplikacijama. Program prati operacije dodjele memorije u Pythonu i nudi vizualno sučelje za analizu i optimizaciju potrošnje memorije za različite dijelove koda, kao i dodatke napisane u C/C++. Izvješća se mogu generirati interaktivno ili generirati u HTML formatu. Uključuje CLI sučelje za upravljanje profiliranjem i biblioteku koja se može koristiti za praćenje memorijskih operacija u projektima trećih strana. Kod je objavljen pod licencom Apache 2.0. Rad je podržan samo na Linux platformi.
Glavne značajke:
- Aplikacije: Prepoznajte razloge za veliku potrošnju memorije u aplikacijama, pronađite curenje memorije i identificirajte kod koji vrši previše dodjele memorije.
- Prati sve pozive funkcija u odnosu na ukupnu potrošnju memorije, potrošnju unutar funkcije i broj operacija dodjele memorije. Sposobnost točne procjene skupa poziva.
- Obrada poziva bibliotekama u C/C++ i obračunavanje potrošnje memorije u izvornim modulima. Podrška za analizu projekata koristeći numpy i pandas.
- Minimalni troškovi i zanemariv utjecaj na performanse analizirane aplikacije. Mogućnost onemogućavanja praćenja izvornog koda radi poboljšanja performansi.
- Dostupnost velikog broja izvješća o korištenju memorije, uključujući vizualne hijerarhijske i ljestvičaste grafikone (graf plamena).
- Sposobnost rada s nitima i analize memorije u kontekstu pojedinačnih niti. Podržane su i Python niti i izvorne niti, kao što su C++ niti koje se koriste u C/C++ modulima.
- Mogućnost integracije s pytestom i pružanje pytest napomena koje definiraju ograničenja potrošnje memorije, ako se prekorače, upozorenja će se generirati tijekom izvođenja testa.
Izvor: opennet.ru