Sobre el proyecto

Scalene es un perfilador de alta precisión para Python diseñado para identificar cuellos de botella de rendimiento en el uso de CPU, GPU y memoria. A diferencia de muchos otros perfiladores, utiliza muestreo para mantener una sobrecarga baja (típicamente 10-20%) y proporciona informes detallados a nivel de línea. Las capacidades clave incluyen: - Perfilado de CPU: Distingue entre el tiempo dedicado al código Python, código nativo (bibliotecas) y tiempo del sistema (E/S). - Perfilado de memoria: Rastrea el crecimiento de memoria por línea, identifica posibles fugas de memoria y monitorea el volumen de copias entre los límites de Python y el código nativo. - Perfilado de GPU: Informa el tiempo de GPU para sistemas basados en NVIDIA. - Perfilado asíncrono: Atribuye el tiempo de espera real a líneas específicas y rastrea cantidades concurrentes de coroutine. - Optimizaciones impulsadas por IA: Se integra con proveedores de IA (OpenAI, Amazon Bedrock, Azure y Ollama) para proponer optimizaciones de código basadas en ineficiencias perfiladas. - Visualización avanzada: Ofrece una GUI web con pilas de llamadas, gráficos de llama ponderados por memoria y una línea de tiempo de reloj de pared que muestra actividad de GC, E/S y GIL. Scalene admite varios métodos de integración, incluyendo una interfaz de línea de comandos, una extensión de Visual Studio Code y comandos mágicos de notebooks Jupyter. También admite Python de hilos libres (3.13t / 3.14t).