Bloomberg open sourced memray, isang memory profiling tool para sa Python

Ang Bloomberg ay may open sourced memray, isang tool para sa pag-profile ng memorya sa mga application ng Python. Sinusubaybayan ng programa ang mga operasyon ng paglalaan ng memorya sa Python at nag-aalok ng isang visual na interface para sa pagsusuri at pag-optimize ng pagkonsumo ng memorya ng iba't ibang mga seksyon ng code, pati na rin ang mga plug-in na nakasulat sa C/C++. Ang mga ulat ay maaaring mabuo nang interactive o mabuo sa HTML na format. Kabilang dito ang isang interface ng CLI para sa pamamahala ng profiling at isang library na maaaring magamit upang subaybayan ang mga pagpapatakbo ng memorya sa mga proyekto ng third-party. Ang code ay nai-publish sa ilalim ng Apache 2.0 na lisensya. Ang operasyon ay sinusuportahan lamang sa platform ng Linux.

Mga pangunahing tampok:

  • Mga Application: Tukuyin ang mga dahilan para sa mataas na pagkonsumo ng memorya sa mga application, hanapin ang mga pagtagas ng memorya, at tukuyin ang code na gumaganap ng masyadong maraming paglalaan ng memorya.
  • Sinusubaybayan ang lahat ng mga function na tawag na may kaugnayan sa kabuuang pagkonsumo ng memorya, pagkonsumo sa loob ng function at ang bilang ng mga pagpapatakbo ng paglalaan ng memorya. Kakayahang tumpak na tantiyahin ang stack ng tawag.
  • Pinoproseso ang mga tawag sa mga aklatan sa C/C++ at accounting para sa pagkonsumo ng memorya sa mga native na module. Suporta para sa pagsusuri ng mga proyekto gamit ang numpy at pandas.
  • Minimal na overhead at hindi gaanong epekto sa pagganap ng nasuri na aplikasyon. Pagpipilian upang huwag paganahin ang native code tracking upang mapabuti ang pagganap.
  • Availability ng malaking bilang ng mga ulat sa paggamit ng memory, kabilang ang visual hierarchical at ladder graph (flame graph).
  • Kakayahang magtrabaho sa mga thread at pag-aralan ang memorya sa konteksto ng mga indibidwal na thread. Parehong mga Python thread at native na mga thread, tulad ng mga C++ thread na ginagamit sa C/C++ modules, ay suportado.
  • Posibilidad ng pagsasama sa pytest at pagbibigay ng mga anotasyon ng pytest na tumutukoy sa mga limitasyon sa pagkonsumo ng memory, kung lalampas, ang mga babala ay bubuo sa panahon ng pagpapatupad ng pagsubok.

Bloomberg open sourced memray, isang memory profiling tool para sa Python
Bloomberg open sourced memray, isang memory profiling tool para sa Python


Pinagmulan: opennet.ru

Magdagdag ng komento