ftoc(1) General Commands Manual ftoc(1)
NAME
ftoc - interface between prof and cord
SYNOPSIS
ftoc file1...
DESCRIPTION
The ftoc interface reads one or more feedback files produced by the -feedback option of the profiler prof(1) and writes onto stdout a
reorder-file for use with the cache-rearranging program cord(1). It interprets each feedback file as representing one phase of a program's
execution. In other words, if a program behaves in two distinct ways depending on its input, you could create two different feedback files
by executing the program twice with different input data, and both ftoc and cord will understand that the information from the first file
is distinct from that of the second file.
As an example, to improve the instruction-cache performance of a program called hello, you could generate a new hello.cord program by say-
ing:
cc -o hello hello.c pixie -o hello.pixie hello hello.pixie prof -pixie -feedback hello.feedback hello ftoc hello.feedback > hello.reorder
cord -o hello.cord hello hello.reorder
The reorderfile consists of a list of lines of the form:
sourcefile procname.procname... n
where "procname.procname..." represents an outer-to-inner list of nested procedures, and n is 10 times the percentage of the procedure's
"density" with respect to the total of the densities of all procedures. ("Density" is the ratio of a procedure's total cycles to its total
static instructions.) A line consisting of "$phase" separates information from different feedback files.
SEE ALSO
cord(1), pixie(1), prof(1)
ftoc(1)