Generación de perfiles de código de Python en Visual Studio
Visual Studio proporciona características de generación de perfiles para aplicaciones de Python al depurar el código. El Depurador de Visual Studio permite recorrer paso a paso el código para comprobar variables, analizar el estado del programa, resolver posibles problemas, etc. Las características de generación de perfiles de Visual Studio proporcionan información sobre los tiempos de ejecución del programa. Puede usar esta información para ayudar a identificar problemas de rendimiento en el código.
La generación de perfiles está disponible para Python 3.9 y versiones anteriores cuando se usa un intérprete basado en CPython.
Requisitos previos
Visual Studio en Windows instalado con compatibilidad con cargas de trabajo de Python. Para obtener más información, consulte Instalación de la compatibilidad con Python en Visual Studio.
Un intérprete basado en CPython. CPython es el intérprete "nativo" y que se usa con más frecuencia y está disponible en versiones de 32 y 64 bits (se recomienda la versión de 32 bits). Para obtener más información, consulte Instalación de intérpretes de Python.
Un proyecto de Python con código o una carpeta con código de Python.
Visual Studio para Mac no se admite. Para obtener más información, consulte ¿Qué sucede con Visual Studio para Mac? Visual Studio Code en Windows, Mac y Linux funciona bien con Python a través de extensiones disponibles.
Uso del generador de perfiles con el intérprete basado en CPython
Al generar perfiles de una aplicación de Python, Visual Studio recopila datos durante la vigencia del proceso, medida en milisegundos (ms).
Siga estos pasos para empezar a trabajar con las funciones de generación de perfiles en Visual Studio:
En Visual Studio Code, abra el archivo de código Python.
Confirme que el entorno actual del código de Python es un intérprete basado en CPython. Puede comprobar el intérprete seleccionado en la ventana Entornos de Python.
En la barra de herramientas principal, seleccione Depurar>Iniciar generación de perfiles de Python. Visual Studio abre el diálogo Configuración de la generación de perfiles:
En el diálogo Configuración de la generación de perfiles, elija el archivo de código o el código de proyecto para el cual desea generar perfiles:
Para generar perfiles de todo el código del proyecto:
Seleccione Abrir proyecto.
Seleccione el proyecto en la lista desplegable. En la lista se muestran todos los proyectos de la solución actual de Visual Studio.
Para generar perfiles de un archivo específico:
Seleccione Script independiente.
Seleccione el Intérprete de Python en la lista desplegable o vaya a la ubicación. Para especificar un intérprete no indicado, elija Otro en la lista desplegable y, a continuación, especifique la Ruta de acceso del intérprete.
Identifique el archivo Script o vaya a la ubicación.
Especifique el Directorio de trabajo o vaya a la ubicación.
Especifique los Argumentos de línea de comandos que quiera para el script.
Seleccione Inicio.
El generador de perfiles se ejecuta y abre un informe de rendimiento en Visual Studio. Puede revisar el informe para explorar cómo se dedica el tiempo en la aplicación:
Uso del generador de perfiles con IronPython
IronPython es una implementación de .NET de Python, disponible en versiones de 32 y 64 bits. IronPython no es un intérprete basado en CPython. Visual Studio admite la depuración estándar de Python para IronPython, pero no las características de generación de perfiles.
En el caso de los proyectos de IronPython, puede usar el generador de perfiles de Visual Studio .NET. Ejecute el comando ipy.exe
directamente como aplicación de destino con los argumentos adecuados para iniciar el script de inicio. En la línea de comandos, incluya el argumento -X:Debug
para asegurarse de que el código Python se pueda depurar y permita la generación de perfiles. Este argumento genera un informe de rendimiento que incluye el tiempo invertido en el runtime de IronPython y en el código. El código se identifica mediante nombres alterados.
IronPython ofrece una generación de perfiles integrada, pero actualmente no hay ningún visualizador que funcione. Para obtener más información, consulte el blog An IronPython Profiler (Un generador de perfiles de IronPython) y Debugging and Profiling (Depuración y generación de perfiles) en la documentación de IronPython.