Intel? VTune Performance Analyzer provides different event list, it relies on what processor the user is running. The user can refer to $VTune_Dir\Help, there are many help files -
Pentium4.chm -About Events for Intel Pentium 4 Processor
PentiumM.chm -About Events for Intel Pentium M Processors
PentiumMY.chm -About Events for Intel Core Solo and Intel Core Duo Processors
pmb.chm -About Events for Intel Atom Processor
pmm.chm -About Events for Intel Core 2 Duo Processor
pmp.chm -About Events for 45nm Intel Core 2 Duo Processor
Actually there is only one list which can be used on user's working system, however the user still is hard to make decision what event(s) will be used for sampling data collection. So VTune? Analyzer provides default two events CPU_CLK_UNHALTED.CORE & INST_RETIRED.ANY to profile user's program on Intel Core 2 Duo system.
CPU_CLK_UHHALTED.CORE samples can measure processor's time (samples * SAV / Frequency) spent in code
INST_RETIRED.ANY samples can measure Instructions number (samples * SAV) were executed in code.
So we have to verify which code region spent much time, and pay special attention on those code that INST_RETIRED.ANY samples are low, that is CPI = Cycles / Instructions (average number for specific function or module). The low, the better.
Next step, we may review code to find possible reason to cause performance issue. There are other events that the user can use to find root-cause, but event number is huge and hard to select one to do.
That is why the user has to use "Event Ratios"...Their name are meaningful for you! For example, "Branch Misprediction Performance Impact", "Bus Utilization", "L2 Cache Miss Rate", etc
When the user decides to choose one event ratio (for example, "Bus Utilization") into the list of event ratio, then events BUS_TRANS_ANY.ALL_AGENTS, CPU_CLK_UNHALTED.BUS are selected into event list automatically.
So you will find to use VTune? Analyzer's events - not difficult. VTune? Analyzer helps your!
How do you think about this?