Profiling

Profiling is a form of dynamic program analysis that measures the flow of your program (for example the execution time of parts of your program or the used space). We will concentrate on using profiling to find parts of a program which could optimize the runtime. For this we will use so called profiler which will execute the program with debugging information to collect the information we need.

More information how a profiler could collect such information can be learned in the „Program analysis“ lecture by Prof. Erdweg.

In this course you will see how you can analyze your program and find parts with long runtime which have the potential to be optimized and impact the runtime of your program. Without profiling you will probably optimize a part of your program that was already rather fast and has a very low potential to father reduce the runtime.