Python 코드 프로파일링Profile Python code

CPython 기반 인터프리터를 사용하는 경우 Python 애플리케이션을 프로파일링할 수 있습니다.You can profile a Python application when using CPython-based interpreters. (서로 다른 버전의 Visual Studio에 대해 이 기능을 사용할 수 있는지 여부는 기능 매트릭스 - 프로파일링을 참조하십시오.)(See Features matrix - profiling for the availability of this feature for different versions of Visual Studio.)

CPython 기반 인터프리터에 대한 프로파일링Profiling for 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:

프로파일링 성능 보고서

참고

현재 Visual Studio는 이 수준의 전체 애플리케이션 프로파일링만 지원하지만 향후 기능에 대한 여러분의 피드백을 보내 주시기 바랍니다.At present, Visual Studio supports only this level of full-application profiling, but we certainly want to hear your feedback on future capabilities. 이 페이지 아래쪽에 있는 제품 피드백 단추를 사용하세요.Use the Product feedback button at the bottom of this page.

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 ensure that all of your Python code can be debugged and profiled. 이 인수는 IronPython 런타임 및 사용자 코드 둘 다에서 소요된 시간을 포함하는 성능 보고서를 생성합니다.This argument generates a performance report including time spent both in the IronPython runtime and your 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.