Bloomberg ten memray de código aberto, unha ferramenta para crear perfiles de memoria en aplicacións de Python. O programa rastrexa as operacións de asignación de memoria en Python e ofrece unha interface visual para analizar e optimizar o consumo de memoria de varias seccións de código, así como complementos escritos en C/C++. Os informes pódense xerar de forma interactiva ou en formato HTML. Inclúe unha interface CLI para xestionar a creación de perfís e unha biblioteca que se pode usar para rastrexar as operacións de memoria en proxectos de terceiros. O código está publicado baixo a licenza Apache 2.0. A operación só se admite na plataforma Linux.
Características clave:
- Aplicacións: identifique os motivos do alto consumo de memoria nas aplicacións, busque fugas de memoria e identifique o código que está a realizar demasiadas asignacións de memoria.
- Rastrexa todas as chamadas de función en relación co consumo total de memoria, o consumo dentro da función e o número de operacións de asignación de memoria. Capacidade para estimar con precisión a pila de chamadas.
- Procesar chamadas a bibliotecas en C/C++ e contabilizar o consumo de memoria en módulos nativos. Soporte para a análise de proxectos mediante numpy e pandas.
- Sobrecarga mínima e impacto insignificante no rendemento da aplicación analizada. Opción para desactivar o seguimento de código nativo para mellorar o rendemento.
- Dispoñibilidade dun gran número de informes de uso da memoria, incluíndo gráficos visuais xerárquicos e de escaleira (gráfico de chama).
- Capacidade para traballar con fíos e analizar a memoria no contexto de fíos individuais. Admítense tanto os fíos de Python como os fíos nativos, como os fíos de C++ utilizados nos módulos C/C++.
- Posibilidade de integración con pytest e subministración de anotacións pytest que definen os límites de consumo de memoria, se se superan, xeraranse avisos durante a execución da proba.
Fonte: opennet.ru