Compiler Supported Sampling through Minimalistic Instrumentation
Christian Iwainsky, Jan-Patrick Lehr, Christian H Bischof · 2014
Sampling is becoming increasingly important for performance analysis as an alternative to or enhancement of instrumentation based measurement methods, although instrumentation is still necessary to guarantee capture of specific events, such as communication calls. Typically, sampling is superior to instrumentation in terms of overhead as the sampling frequency can be controlled. However, sampling has overhead cost for determining the call context depends on the state of the call stack at sample time. We propose a hybrid approach, where sampling is supported by maintaining support information through instrumentation. The viability and potential performance benefits of this approach are explored using examples from the SPEC CPU benchmarks and a selected C++ application.