Bloomberg avoimen lähdekoodin memray, muistin profilointityökalu Pythonille

Bloombergilla on avoimen lähdekoodin memray, työkalu muistin profilointiin Python-sovelluksissa. Ohjelma seuraa muistin varaustoimintoja Pythonissa ja tarjoaa visuaalisen käyttöliittymän koodin eri osien muistinkulutuksen analysointiin ja optimointiin sekä C/C++-kielellä kirjoitettuihin laajennuksiin. Raportit voidaan luoda joko interaktiivisesti tai HTML-muodossa. Se sisältää CLI-rajapinnan profiloinnin hallintaan ja kirjaston, jota voidaan käyttää muistitoimintojen seuraamiseen kolmannen osapuolen projekteissa. Koodi on julkaistu Apache 2.0 -lisenssillä. Toimintaa tuetaan vain Linux-alustalla.

Tärkeimmät ominaisuudet:

  • Sovellukset: Tunnista syyt korkeaan muistinkulutukseen sovelluksissa, etsi muistivuotoja ja tunnista koodi, joka suorittaa liian monta muistin varausta.
  • Seuraa kaikkia toimintokutsuja suhteessa muistin kokonaiskulutukseen, funktion kulutukseen ja muistin varaustoimintojen määrään. Kyky arvioida tarkasti puhelupino.
  • Käsittelee kutsuja kirjastoihin C/C++-kielellä ja laskee muistinkulutuksen alkuperäisissä moduuleissa. Tuki projektien analysointiin numpylla ja pandoilla.
  • Minimaalinen yleiskustannukset ja merkityksetön vaikutus analysoitavan sovelluksen suorituskykyyn. Mahdollisuus poistaa natiivikoodin seuranta käytöstä suorituskyvyn parantamiseksi.
  • Saatavilla on suuri määrä muistinkäyttöraportteja, mukaan lukien visuaaliset hierarkkiset ja tikapuukaaviot (liekkikaavio).
  • Kyky työskennellä säikeiden kanssa ja analysoida muistia yksittäisten säikeiden kontekstissa. Sekä Python-säikeet että alkuperäiset säikeet, kuten C/C++-moduuleissa käytetyt C++-säikeet, ovat tuettuja.
  • Mahdollisuus integroida pytestiin ja tarjota pytest-merkintöjä, jotka määrittelevät muistinkulutusrajat, jos ylittyy, varoituksia luodaan testin suorittamisen aikana.

Bloomberg avoimen lähdekoodin memray, muistin profilointityökalu Pythonille
Bloomberg avoimen lähdekoodin memray, muistin profilointityökalu Pythonille


Lähde: opennet.ru

Lisää kommentti