Profilatura del codice Python in Visual Studio

Visual Studio offre funzionalità di profilatura per le applicazioni Python quando si esegue il debug del codice. Il debugger di Visual Studio consente di esaminare il codice per controllare le variabili, analizzare lo stato del programma, risolvere potenziali problemi e così via. Le funzionalità di profilatura di Visual Studio forniscono informazioni sui tempi di esecuzione per il programma. È possibile usare queste informazioni per identificare i problemi di prestazioni nel codice.

La profilatura è disponibile per Python 3.9 e versioni precedenti quando si usa un interprete basato su CPython.

Prerequisiti

Visual Studio per Mac non è attualmente supportato. Per altre informazioni, vedere What's happening to Visual Studio per Mac? Visual Studio Code in Windows, Mac e Linux funziona bene con Python tramite le estensioni disponibili.

Usare profiler con l'interprete basato su CPython

Quando si profila un'applicazione Python, Visual Studio raccoglie i dati per la durata del processo.

Per iniziare a usare le funzionalità di profilatura in Visual Studio, seguire questa procedura:

  1. In Visual Studio aprire il file di codice Python.

  2. Verificare che l'ambiente corrente per il codice Python sia un interprete basato su CPython. È possibile controllare l'interprete selezionato nella finestra Ambienti Python.

  3. Sulla barra degli strumenti principale selezionare Debug>Avvia profilatura Python. Visual Studio apre la finestra di dialogo Profilatura Impostazioni:

    Screenshot della finestra di dialogo Profilatura Impostazioni configurazione in Visual Studio.

  4. Nella finestra di dialogo Profilatura Impostazioni scegliere il file di codice o il codice del progetto da profilare:

    • Per profilare tutto il codice del progetto:

      1. Selezionare Apri progetto.

      2. Selezionare il progetto dall'elenco a discesa. L'elenco mostra tutti i progetti nella soluzione visual studio corrente.

    • Per profilare un file specifico:

      1. Selezionare Script autonomo.

      2. Selezionare l'interprete Python dall'elenco a discesa o passare al percorso. Per specificare un interprete non elencato, scegliere Altro nell'elenco a discesa e quindi specificare il percorso dell'interprete.

      3. Identificare il file script o passare al percorso.

      4. Specificare la directory di lavoro o passare al percorso.

      5. Specificare gli argomenti della riga di comando per lo script.

  5. Selezionare Inizio.

Il profiler viene eseguito e apre un report sulle prestazioni in Visual Studio. È possibile esaminare il report per esplorare il tempo impiegato nell'applicazione:

Screenshot del report prestazioni profilatura in Visual Studio 2022.

Screenshot del report prestazioni profilatura in Visual Studio.

Usare profiler con IronPython

IronPython è un'implementazione .NET di Python disponibile nelle versioni a 32 bit e a 64 bit. IronPython non è un interprete basato su CPython. Visual Studio supporta il debug Python standard per IronPython, ma non le funzionalità di profilatura.

Per i progetti IronPython, è possibile usare il profiler .NET di Visual Studio. Eseguire il ipy.exe comando direttamente come applicazione di destinazione con gli argomenti appropriati per avviare lo script di avvio. Nella riga di comando includere l'argomento -X:Debug per assicurarsi che tutto il codice Python possa essere sottoposto a debug e profilato. Questo argomento genera un report sulle prestazioni che include il tempo impiegato nel runtime IronPython e nel codice. Il codice viene identificato usando nomi mangled.

IronPython offre una profilatura predefinita, ma attualmente non è disponibile alcun visualizzatore funzionante. Per altre informazioni, vedere Un Profiler IronPython (blog) e Debug e profilatura nella documentazione di IronPython.