Bloomberg het oopbron-memray, 'n geheue-profielinstrument vir Python-toepassings. Die program monitor geheuetoewysingsbedrywighede in Python en bied 'n visuele koppelvlak vir die ontleding en optimalisering van die geheueverbruik van verskeie kodeafdelings, sowel as inproppe geskryf in C/C++. Verslae kan beide interaktief en in HTML-formaat gegenereer word. Dit bevat 'n CLI-koppelvlak vir die bestuur van profilering en 'n biblioteek wat gebruik kan word om geheue-aktiwiteit in derdeparty-projekte te monitor. Die kode word onder die Apache 2.0-lisensie gepubliseer. Werking word slegs op die Linux-platform ondersteun.
Belangrikste kenmerke:
- Toepassings: Vind die oorsake van hoë geheueverbruik in toepassings, vind geheuelekkasies en identifiseer kode wat te veel geheuetoewysings doen.
- Volg alle funksie-oproepe in verhouding tot totale geheueverbruik, verbruik binne die funksie, en die aantal geheue-toekennings. Vermoë om die oproepstapel akkuraat te skat.
- Hanteer oproepe na C/C++ biblioteke en verreken geheueverbruik in inheemse modules. Ondersteuning vir die ontleding van projekte met behulp van numpy en pandas.
- Minimale bokoste en weglaatbare impak op die werkverrigting van die geanaliseerde toepassing. Vermoë om inheemse kodenasporing te deaktiveer om werkverrigting te verbeter.
- Die teenwoordigheid van 'n groot aantal verslae oor geheuegebruik, insluitend visuele hiërargiese en getrapte grafieke (vlamgrafiek).
- Die vermoë om met drade te werk en geheue te analiseer in die konteks van individuele drade. Beide Python-drade en inheemse drade soos C++-drade wat in C/C++-modules gebruik word, word ondersteun.
- Die vermoë om met pytest te integreer en pytest-aantekeninge te verskaf wat die geheueverbruiklimiete definieer, indien dit oorskry word, sal waarskuwings tydens toetsuitvoering gegenereer word.
Bron: opennet.ru