Profiling

Courses tagged with "Profiling"

This short course introduces one of the pillars of performance tuning and optimization of Python applications: profiling tools.

You will learn how to:

  • Collect statistics about memory usage and execution time
  • Analyze and visualize the results
  • Use this information to optimize scripts

Performance tools are software used to measure application performance, usually with respect to the execution time of all or portions of a code. These tools collect data from a running application that is later analyzed to determine if and where there are performance bottlenecks.

This tutorial introduces the capabilities of the following relatively easy-to-use performance tools: strace, gprof, and TAU. There are many more tools available for analyzing code performance not covered. This tutorial aims to get you started using performance tools and help you later when you explore other tools' capabilities.

Target Audience: Scientific application developers with basic parallel programming experience who are new to using performance tools.