Part 3: Profile Python* Code in Intel® VTune™ Amplifier

Accelerate Python* and native code applications with a profiler that identifies lines of code that are performance bottlenecks.

Intel® Distribution for Python*: Home | Benchmarks | Forum | Overview of the 2017 Update 2 Release

Downloads: Docker Hub* | Anaconda*

Intel® Data Analytics Acceleration Library: Home | Forum | Overview

Intel® Math Kernel Library: Home | Forum

Intel® VTune™ Amplifier: Home | Forum

YouTube* Playlist

Subscribe to the Intel® Software Channel on YouTube


Hi, I am Vasilij Litvinov, and in this video, I'll be telling you how to investigate your Python* code behavior inside and out using Intel® VTune™ Amplifier. Stay with me to hear about some benefits and features in the Intel VTune amplifier like performance, locks, [and] I/O waits.


Python helps power a wide range of software where application performance matters. However, some Python code may not scale well. So you need to optimize to your code. You will want to do this only after truly examining it first. Trying to tune your code blindly can result in fixing it in the wrong place.

Intel VTune Amplifier includes tools that support a full spectrum of analysis capabilities when measuring the metrics of your app behavior. With these tools, you can mix Python or native code, launch an app under the collector, or attach the collector to a running app, measure CPU performance, monitor locking, and I/O wait. Next, let's look into CPU capabilities.

When you run your application on VTune [sic], you will get diagnostics that measure the general health of your Python application. This is called basic hotspots. Basic hotspots detect CPU hotspots in your code using a user-mode sampling technique. No drivers needed, and there is no overhead.

Next, there is Locks and Waits analysis. If you care more about [INAUDIBLE] than speed, or if you're just wondering about infamous global interpreter, or GIL for short, try running [a] Locks and Waits analysis. It will detect all grabs and releases of locks and show you contentions. You'll be able to find which of the locks is that GIL and determine the ways it is affecting your application. And finally, the analysis lets you check the file I/O and tells you if it's weighing your app down. Profiling combined with using a fast Python, like Intel® Distribution for Python*, helps you get the best performance from your Python applications. You can get access to Intel VTune Amplifier and Intel Distribution for Python by following the links. Be sure to visit the Intel developers' own forum as well. And thanks for watching.