|Valgrind 3.3 - Advanced Debugging and Profiling for GNU/Linux applications|
by J. Seward, N. Nethercote, J. Weidendorfer and the Valgrind Development Team
Paperback (6"x9"), 164 pages
RRP £12.95 ($19.95)
13.1.2 Simple Example
The event names in the following example are quite arbitrary, and are not related to event names used by Callgrind. Especially, cycle counts matching real processors probably will never be generated by any Valgrind tools, as these are bound to simulations of simple machine models for acceptable slowdown. However, any profiling tool could use the format described in this chapter.
events: Cycles Instructions Flops fl=file.f fn=main 15 90 14 2 16 20 12
The above example gives profile information for event types “Cycles”, “Instructions”, and “Flops”. Thus, cost lines give the number of CPU cycles passed by, number of executed instructions, and number of floating point operations executed while running code corresponding to some source position. As there is no line specifying the value of “positions”, it defaults to “line”, which means that the first number of a cost line is always a line number.
Thus, the first cost line specifies that in line 15 of source
file ‘file.f’ there is code belonging to function
main. While running, 90 CPU cycles passed by, and
2 of the 14 instructions executed were floating point
operations. Similarly, the next line specifies that there were 12
instructions executed in the context of function
main which can be related to line 16 in file
‘file.f’, taking 20 CPU cycles. If a cost line
specifies less event counts than given in the “events” line,
the rest is assumed to be zero. I.e., there was no floating point instruction
executed relating to line 16.
Note that regular cost lines always give self (also called exclusive)
cost of code at a given position. If you specify multiple cost lines for the
same position, these will be summed up. On the other hand, in the example above
there is no specification of how many times function
actually was called: profile data only contains sums.
|ISBN 0954612051||Valgrind 3.3 - Advanced Debugging and Profiling for GNU/Linux applications||See the print edition|