Criação de perfil para o código Python no Visual Studio
O Visual Studio fornece recursos de criação de perfil para aplicativos em Python quando você realiza a depuração do código. O Depurador do Visual Studio possibilita que você examine o código para verificar variáveis, analisar o estado do programa, resolver possíveis problemas, e assim por diante. Os recursos de criação de perfil do Visual Studio fornecem informações sobre os tempos de execução para o programa. É possível usar essas informações para auxiliar na identificação de problemas de desempenho no código.
A criação de perfil está disponível para o Python 3.9 e para versões anteriores ao usar um interpretador baseado em CPython.
Pré-requisitos
Instalação do Visual Studio no Windows com suporte para cargas de trabalho em Python. Para obter mais informações, confira Instalar o suporte ao Python no Visual Studio.
Um interpretador baseado em CPython. O CPython é o interpretador “nativo” e mais usado e está disponível em versões de 32 bits e de 64 bits (a recomendação é para usar 32 bits). Para obter mais informações, confira Instalar interpretadores do Python.
Um projeto em Python com código ou uma pasta com código Python.
Não há suporte ao Visual Studio para Mac. Para obter mais informações, consulte O que está acontecendo com o Visual Studio para Mac? O Visual Studio Code no Windows, no Mac e no Linux funciona perfeitamente com o Python por meio das extensões disponíveis.
Usar o criador de perfil com o interpretador baseado em CPython
Quando você analisa um aplicativo do Python, o Visual Studio coleta dados do tempo de vida do processo, medido em milissegundos (ms).
Siga estas etapas para começar a trabalhar com os recursos de criação de perfil no Visual Studio:
No Visual Studio, abra o arquivo de código Python.
Confirme se o ambiente atual para o código Python corresponde a um interpretador baseado em CPython. É possível verificar o interpretador selecionado na janela Ambientes do Python.
Na barra de ferramentas principal, selecione Depurar>Iniciar a Criação de Perfil do Python. O Visual Studio abre a caixa de diálogo Configurações de Criação de Perfil:
Na caixa de diálogo Configurações de Criação de Perfil, escolha o arquivo de código ou o código do projeto cujo perfil você deseja criar:
Para criar o perfil completo do código do projeto:
Selecione Abrir projeto.
Selecione o projeto usando a lista suspensa. A lista mostra todos os projetos na solução Visual Studio atual.
Para criar o perfil de um arquivo específico:
Selecione Script autônomo.
Selecione o Interpretador do Python usando a lista suspensa ou navegue até a localização. Para especificar um interpretador não listado, escolha Outros na lista suspensa e, em seguida, especifique o Caminho do Interpretador.
Identifique o arquivo de Script ou navegue até a localização.
Especifique o Diretório de Trabalho ou navegue até a localização.
Especifique os Argumentos da Linha de Comando para o script.
Selecione Iniciar.
Ocorre a execução do criador de perfil e um relatório de desempenho é aberto no Visual Studio. É possível realizar a revisão do relatório para explorar como o tempo é utilizado em seu aplicativo:
Usar o criador de perfil com o IronPython
O IronPython é uma implementação .NET do Python que está disponível nas versões de 32 bits e de 64 bits. O IronPython não é um interpretador baseado em CPython. O Visual Studio oferece suporte à depuração padrão do Python para o IronPython, mas não aos recursos de criação de perfil.
Para projetos em IronPython, é possível usar o criador de perfil do Visual Studio .NET. Realize a execução do comando ipy.exe
, de forma direta, como o aplicativo de destino com os argumentos apropriados para iniciar o script de inicialização. Na linha de comando, inclua o argumento -X:Debug
para garantir que todo o código Python seja depurado e passe pelo criador de perfil. Esse argumento gera um relatório de desempenho que inclui o tempo utilizado no runtime do IronPython e seu código. O código é identificado ao usar nomes desconfigurados.
O IronPython disponibiliza algumas criações de perfil internas, mas atualmente não há nenhum visualizador funcional. Para obter mais informações, confira An IronPython Profiler (postagem no blog) e Debugging and Profiling na documentação do IronPython.