Method and apparatus for analyzing performance, and computer product
View Patent ↗In a performance analyzing apparatus, a setting unit sets an event of which the performance is desired to be monitored, a detecting unit detects an instruction address at the time of generation of an interrupt signal from a timer, and a calculating unit calculates a variation amount of a counted value by a hardware counter at a detected instruction address. The variation amount is accumulatively retained for each detected instruction address. A specifying unit specifies an instruction address that corresponds to the event, and a display unit displays a graph of the total variation amounts.
1. A performance analyzing apparatus comprising:
a computer processor
to generate interrupt signals only at given time intervals while executing a program to be analyzed, the processor including a hardware counter that counts a cumulative number of a type of a hardware event executable by the computer processor when the program is executed,
to detect each instruction address that is executed at a time of generation of each interrupt signal at the given time interval, respectively, and
to calculate a difference between values of the hardware counter for the type of hardware event for each detected instruction address at the time of generation of each interrupt signal at the given time interval; and
a display to display the difference and each instruction address.
2. The performance analyzing apparatus according to claim 1 ,
wherein the computer processor further sets the type of the hardware events to be counted by the hardware counter, and
wherein the type of hardware events comprises one or more of an execution of an instruction, a cache miss, a translation look-aside buffer (TLB) miss, a degree of parallel execution of instructions, a branch instruction, a number of cycles of register interference, a pipeline stall, memory traffic, or bus load information.
3. The performance analyzing apparatus according to claim 1 , wherein the computer processor further specifies an instruction address that corresponds to a given event from among the instruction addresses, and
wherein the display is configured to highlight the specified instruction address.
4. The performance analyzing apparatus according to claim 1 , wherein the display is configured to display the difference in association with a function including an instruction of the instruction addresses.
5. The performance analyzing apparatus according to claim 3 , wherein the display is configured to display the difference in association with a function including the instruction addresses.
6. A performance analyzing method comprising:
setting a hardware event executable by the computer processor when the program is executed, for which number of times of occurrence are counted by a hardware counter provided in a processor on which a program to be analyzed is executed;
detecting each instruction address that is executed at a time of generation of each interrupt signal, respectively, that is generated at a predetermined time interval from the processor while the program is being executed;
calculating a difference between values of the hardware counter for the type of hardware event for each detected instruction address at the time of generation of each interrupt signal at the predetermine time interval; and
displaying the difference and each instruction address on a display.
7. The performance analyzing method according to claim 6 , further comprising specifying an instruction address that corresponds to a given event from among the instruction addresses, wherein
the displaying includes highlighting the specified instruction address.
8. The performance analyzing method according to claim 6 , wherein the displaying includes displaying the difference in association with function including an instruction of the instruction addresses.
9. The performance analyzing method according to claim 7 , wherein the displaying includes displaying the difference in association with a function including an instruction of the instruction addresses.
10. A computer-readable recording medium that stores therein a computer program for realizing a performance analyzing method on a computer, the computer program making the computer execute:
setting a hardware event executable by the computer processor when the program is executed, for which number of times of occurrence are counted by a hardware counter provided in a processor on which a program to be analyzed is executed;
detecting each instruction address that is executed at a time of generation of each interrupt signal, respectively, that are generated at a predetermined time interval from the processor while the program is being executed;
calculating a difference between values of the hardware counter for the type of hardware event for each detected instruction address at the time of generation of each interrupt signal at the predetermine time interval; and
displaying the difference and each instruction address on a display.
11. The computer-readable recording medium according to claim 10 , wherein the computer program further makes the computer execute specifying an instruction address that corresponds to a given event from among the instruction addresses, wherein
the displaying includes highlighting the specified instruction address.
12. The computer-readable recording medium according to claim 10 , wherein the displaying includes displaying the difference in association with function including an instruction of the instruction addresses.
13. The computer-readable recording medium according to claim 11 , wherein the displaying includes displaying the difference in association with a function including an instruction of the instruction addresses.