Low-overhead, system-wide profiling helps you identify which modules and functions are consuming the most time, giving you a detailed look at your operating system and application.
The following are some of the benefits of sampling:

- Profiling to find hotspots. Find the module, functions, lines of source code and assembly instructions that are consuming the most time.
- Low overhead. Overhead incurred by sampling is typically about one percent.
- No need to instrument code. You do not need to make any changes to code to profile with sampling.
How does sampling work?Sampling interrupts the processor after a certain number of events and records the execution information in a buffer area. When the buffer is full, the information is copied to a file. After saving the information, the program resumes operation. In this way, the VTune™ Performance Analyzer maintains very low overhead (about one percent) while sampling.
- During time-based sampling, the analyzer collects samples of active instruction addresses at regular time-based intervals (1ms. by default).
- During event-based sampling, the analyzer collects samples of active instruction addresses after a specified number of processor events.
After the program finishes, the samples are mapped to modules and stored in a database within the analyzer program. You can then use the VTune analyzer's module view to see the results.
From the module view, you can drill down to application-specific information (the "hotspots view"). The hotspots view identifies performance problems in modules, classes and functions. You can view hotspots by process, thread, module, function, and source file in a graphical view or a table format.