Profiling is a type of dynamic program analysis that measures, for example, the memory used by a program, how many times a particular function is called and so on. Profile-guided optimization is a compiler optimization technique in which profiling is used to improve program runtime performance. In contrast to traditional compiler optimization techniques that only use the source code to make optimizations, profile-guided optimization uses the results of profiling test runs of instrumented programs to optimize the final generated code. As one example, “hotspots”, sections of code that are executed frequently, can be identified and that code can be made more efficient.