Problem: 'Events= Sample After Value (SAV) * Samples' Is Not True If Multiple Runs Are Disabled
The Allow multiple runs option is located in the Advanced section of the WHAT pane on the Configure Analysis window. By default, the option is disabled. As a result, the VTune Profiler uses event multiplexing and runs the data collection only once. This approach lowers the precision of the collected data. So, the VTune Profiler calculates the number of collected events using the formula: Events= Sample After Value (SAV) * Samples. But when the event multiplexing is enabled, this formula is modified as follows: Events= Sample After Value * Samples * Event Group Count, where the Event Group Count is the number of incompatible groups of events used during the collection. The Event Group Count multiplier is introduced based on the heuristics approach to fill the gaps when the VTune Profiler collected events for one event group only.
For example, you have three groups of events: A, B and C, where event A1 is in group A. During the application run, the VTune Profiler spends equal time on collecting each group of events. While group A is analyzed, event A1 has 10 samples with SAV of 10.000 and your application generates no A1 samples at all for the rest of the time. In this case, the accurate result is 100.000 events (10.000 * 10). But the VTune Profiler provides the resultant number of events as 100.000 * 3 (A, B and C groups) = 300.000.
Select the Allow multiple runs option to disable event multiplexing and run a separate data collection for each event group. This mechanism provides more precise data on collected events.