Memray sumber terbuka Bloomberg, alat pemprofilan memori untuk Python

Bloomberg mempunyai memray sumber terbuka, alat untuk memprofil memori dalam aplikasi Python. Program ini menjejaki operasi peruntukan memori dalam Python dan menawarkan antara muka visual untuk menganalisis dan mengoptimumkan penggunaan memori pelbagai bahagian kod, serta pemalam yang ditulis dalam C/C++. Laporan boleh dijana sama ada secara interaktif atau dijana dalam format HTML. Ia termasuk antara muka CLI untuk mengurus pemprofilan dan perpustakaan yang boleh digunakan untuk menjejaki operasi memori dalam projek pihak ketiga. Kod ini diterbitkan di bawah lesen Apache 2.0. Operasi hanya disokong pada platform Linux.

Ciri-ciri utama:

  • Aplikasi: Kenal pasti sebab penggunaan memori yang tinggi dalam aplikasi, cari kebocoran memori dan kenal pasti kod yang melakukan terlalu banyak peruntukan memori.
  • Menjejaki semua panggilan fungsi berhubung dengan jumlah penggunaan memori, penggunaan dalam fungsi dan bilangan operasi peruntukan memori. Keupayaan untuk menganggar tindanan panggilan dengan tepat.
  • Memproses panggilan ke perpustakaan dalam C/C++ dan mengambil kira penggunaan memori dalam modul asli. Sokongan untuk menganalisis projek menggunakan numpy dan panda.
  • Overhed minimum dan kesan yang boleh diabaikan terhadap prestasi aplikasi yang dianalisis. Pilihan untuk melumpuhkan penjejakan kod asli untuk meningkatkan prestasi.
  • Ketersediaan sejumlah besar laporan penggunaan memori, termasuk hierarki visual dan graf tangga (graf nyala).
  • Keupayaan untuk bekerja dengan benang dan menganalisis memori dalam konteks benang individu. Kedua-dua benang Python dan benang asli, seperti benang C++ yang digunakan dalam modul C/C++, disokong.
  • Kemungkinan penyepaduan dengan pytest dan penyediaan anotasi pytest yang mentakrifkan had penggunaan memori, jika melebihi, amaran akan dijana semasa pelaksanaan ujian.

Memray sumber terbuka Bloomberg, alat pemprofilan memori untuk Python
Memray sumber terbuka Bloomberg, alat pemprofilan memori untuk Python


Sumber: opennet.ru

Tambah komen