Using fur to perform block profiling
fur is a tool that manipulates object files.
It can:
-
rearrange functions,
-
rearrange the code within functions
-
insert code into
functions.
fur can be used to do block and branch profiling.
Programs can be broken
into blocks, which are sets of statements that form a straight line (no
ifs or loops).
Block profiling records how many times each block is
executed and how many times each block executed directly before it,
allowing fur to surmise the flow of control through the program.
This
information is used in combination with flow profile information to tune
programs for better cache utilization, better branch prediction, less
jumping and less paging.
One can insert code of one's choosing into the code, but some
useful code is provided. As was mentioned earlier, fur can insert code so
that time profiling or flow profiling is done on the code. Here we discuss
inserting code that performs block profiling.
Next topic:
Relinking the program
Previous topic:
Analyzing flow-profile results for analysis of run-time flow
© 2004 The SCO Group, Inc. All rights reserved.
UnixWare 7 Release 7.1.4 - 27 April 2004