Python Code 프로파일링Profiling Python Code

CPython 기반 인터프리터를 사용하는 경우 Visual Studio는 Python 응용 프로그램을 프로파일링하도록 지원합니다.Visual Studio supports profiling a Python application when using CPython-based interpreters.

프로파일링은 분석 > Python 프로파일링 시작 메뉴 명령을 통해 시작하여 구성 대화 상자를 열 수 있습니다.Profiling is started through the Analyze > Launch Python Profiling menu command, which opens a configuration dialog:

프로파일링 구성 대화 상자

확인을 선택하면 프로파일러가 실행되고 응용 프로그램에서 소요된 시간을 탐색할 수 있는 성능 보고서를 엽니다.When you select OK, the profiler runs and opens a performance report through which you can explore how time is spent in the application:

프로파일링 성능 보고서

데모의 경우 비디오 Python 프로파일링(Microsoft Virtual Academy, 3m00s)을 참조하세요.For a demonstration, see the video Profiling Python (Microsoft Virtual Academy, 3m00s).

IronPython에 대한 프로파일링Profiling for IronPython

IronPython이 CPython 기반 인터프리터가 아니기 때문에 위의 프로파일링 기능이 작동하지 않습니다.Because IronPython is not a CPython-based interpreter, the profiling feature above does not work.

대신, ipy.exe을 직접 대상 응용 프로그램으로 시작하여 Visual Studio .NET 프로파일러를 사용하고 시작 스크립트를 시작하기 위해 적절한 인수를 사용합니다.Instead, use the Visual Studio .NET profiler by launching ipy.exe directly as the target application, using the appropriate arguments to launch your startup script. 명령줄에 -X:Debug을 포함하여 모든 Python 코드를 디버깅하고 프로파일링할 수 있도록 강제합니다.Include -X:Debug on the command line to force all of your Python code to be debuggable and profilable. 이 인수는 IronPython 런타임 및 사용자 코드 모두에 소요된 시간을 포함하는 성능 보고서를 생성합니다.This argument generates a performance report including time spent both in the IronPython runtime and you code. 코드는 변환된 이름을 사용하여 식별됩니다.Your code is identified using mangled names.

또는 IronPython에 고유한 기본 제공 프로파일링의 일부가 포함되지만 현재 이를 위한 시각화 도우미가 마땅하지 않습니다.Alternately, IronPython has some of its own built-in profiling but there's currently no good visualizer for it. 제공되는 기능은 IronPython 프로파일러(MSDN 블로그)를 참조하세요.See An IronPython Profiler (MSDN blogs) for what's available.