Compartilhar via


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

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:

  1. No Visual Studio, abra o arquivo de código Python.

  2. 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.

  3. 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:

    Captura de tela da caixa de diálogo de configuração Configurações de Criação de Perfil no Visual Studio.

  4. 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:

      1. Selecione Abrir projeto.

      2. 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:

      1. Selecione Script autônomo.

      2. 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.

      3. Identifique o arquivo de Script ou navegue até a localização.

      4. Especifique o Diretório de Trabalho ou navegue até a localização.

      5. Especifique os Argumentos da Linha de Comando para o script.

  5. 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:

Captura de tela do relatório de desempenho da Criação de Perfil no Visual Studio 2022.

Captura de tela do relatório de desempenho da Criação de Perfil no Visual Studio.

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.