PyCharm 2019.3 Help

Optimize your code using profilers

PyCharm allows running the current run/debug configuration while attaching a Python profiler to it.

If you have a yappi profiler installed on your interpreter, PyCharm starts the profiling session with it by default, otherwise it uses the standard cProfile profiler.

Besides these two tracing profilers, PyCharm supports also sampling (statistical) profiler vmprof, which should be installed on the selected Python interpreter. If you are Windows 64 bit user, you have to install Python 32 bit, to make vmprof work. Install 32-bit Python as described on the page Python Releases for Windows.

A profiler runs in the following order: vmprof, yappi, cProfile.

Start the profiling session

  1. Click profiler on the main toolbar or select Run | Profile <current run.debug configuration name> from the main menu.

  2. Ensure that the profiler has started in the dedicated tab of the Run tool window.

    Results

    Item

    Description

    Profiling results

    Saves the profiling results in the <project name>.pstat file for cProfile profiler and the <project name>.prof file for vmprof.

    Stop profiling

    Stops the profiler.

    Close

    Closes the profiler tab.

Work with the profiling results

  1. On the toolbar of the profiler tab in the Run tool window, click Capture.

  2. Inspect the profiling results:

    The snapshot is saved to the default location under .PyCharmXX/system/snapshots directory under the user's home. For CProfiler, it is saved as <project name>.pstat file. The file opens in the <project name>.pstat tab in the editor, which consists of two tabs: Statistics and Call Graph:

    Results

    Tip: To search for a particular file in the Name column of the Statistics table, click any cell and start typing the target name. The Search field appears in the header of the column so that you can edit the search criteria.

    The snapshot is saved to the default location under .PyCharmXX/system/snapshots directory under the user's home. For vmprof, it is saved as <project name>.prof file.

    The file open in the <project name>.pstat tab in the editor, which consists of three tabs: Statistics, Call Graph, and Call Tree

    Call tree

    Tip: Jump to the source code of any file and preview the Profile lines profiling results in the gutter. Lines consuming more processor time are marked yellow and red.

    Profile lines

Jump to the source code

  • To navigate to the source code of a certain function, right-click the corresponding entry on the Statistics tab, and choose Navigate to Source from the context menu:

    Jump to source

    The source code of the function opens in the editor.

View the call graph

  1. To navigate to the call graph of a certain function, right-click the corresponding entry on the Statistics tab, and choose Show on Call Graph from the context menu.

    The Call Graph tab opens with the selected function:

    Call graph

    Note the color codes on the Call Graph. The functions marked red consume more time; the fastest functions are green.

  2. Use the toolbar buttons to work with the graph:

    Item

    Description

    Zoom In

    Click this icon to increase the scale of the diagram. Alternatively, press NumPad+.

    Zoom Out

    Click this icon to decrease the scale of the diagram. Alternatively, press NumPad-.

    Actual Size

    Click this icon to restore the actual size of the diagram.

    Fit Content

    Click this icon to make the contents fit into the current diagram size.

    Apply Current Layout

    Click this icon to apply the current layout, selected from the diagram context menu.

    Save diagram

    Click this icon to save the current diagram in the specified location as xml file.

    Export to file

    Click this icon to save the diagram in an image file with the specified name and path. The possible formats are: jpeg, png, svg, svgz, or gif.

    Print Graph

    Click this icon to print the diagram.

Review the existing cProfile snapshots

  1. From the main menu, choose Tools | Open CProfile snapshot.

  2. In the Select PStat file dialog, choose the desired file with the extension pstat.

    The profiling results open in the <project name>.pstat tab in the editor.

Last modified: 5 December 2019