A system, method, and computer program for analyzing code execution and
software performance characteristics are disclosed. Samples of executing
code may be taken based on any of a number of various triggers. For
example, samples may be triggered based on function calls, such as malloc
calls. Alternatively, samples may be triggered based on occurrence of a
specified event. Code execution is graphically displayed such that
certain patterns may be easily identified. Multiple redundant function
calls and areas of code having excessively deep function calls can be
readily spotted. Such areas represent opportunities for performance
optimization.