Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ prof(1) — DG/UX 4.30

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

cc(1)

exit(2)

profil(2)

monitor(3C)

prof(5)



     prof(1)                    DG/UX 4.30                     prof(1)



     NAME
          prof - display profile data

     SYNOPSIS
          prof [-tcan] [-ox] [-z] [-h] [-s] [-m mdata] [prog]

     DESCRIPTION
          The prof command interprets a profile file produced by the
          monitor(3C) function.  The symbol table in the object file
          prog (a.out by default) is read and correlated with a
          profile file (mon.out by default).  For each text symbol the
          percentage of time spent executing between the address of
          that symbol and the address of the next is printed, together
          with the number of times that function was called and the
          average number of milliseconds per call.

          The mutually exclusive options t, c, a, and n determine the
          type of sorting of the output lines:

          -t   Sort by decreasing percentage of total time (default).

          -c   Sort by decreasing number of calls.

          -a   Sort by increasing symbol address.

          -n   Sort lexically by symbol name.

          The mutually exclusive options o and x specify the format
          (or base) for printing the address of each symbol monitored:

          -o   Print each symbol address (in octal) along with the
               symbol name.

          -x   Print each symbol address (in hexadecimal) along with
               the symbol name.

          The following options may be used in any combination:

          -z   Include all symbols in the profile range [see
               monitor(3C)], even if associated with zero number of
               calls and zero time.

          -h   Suppress the heading normally printed on the report.
               (This is useful if the report is to be processed
               further.)

          -s   Print a summary of several of the monitoring parameters
               and statistics on the standard error output.

          -m mdata
               Use file mdata instead of mon.out as the input profile
               file.



     Licensed material--property of copyright holder(s)         Page 1





     prof(1)                    DG/UX 4.30                     prof(1)



          A program creates a profile file if has been compiled with
          the -p option of cc(1).  This option to the cc command
          arranges for calls to monitor(3C) at the beginning and end
          of execution.  It is the call to monitor at the end of
          execution that causes a profile file to be written.  The
          number of calls to a function is tallied if the -p option
          was used to compile the file containing the function.

          The name of the file created by a profiled program is
          controlled by the environment variable PROFDIR.  If PROFDIR
          does not exist, ``mon.out'' is produced in the current
          directory.  If PROFDIR = string, ``string/pid.progname'' is
          produced, where progname consists of argv[0] with any path
          prefix removed, and pid is the program's process id.  If
          PROFDIR is the null string, no profiling output is produced.

          A single function may be split into subfunctions for
          profiling by means of the MARK macro [see prof(5)].

     FILES
          mon.out  for profile
          a.out    for namelist

     SEE ALSO
          cc(1), exit(2), profil(2), monitor(3C), prof(5).

     WARNING
          The times reported in successive identical runs may show
          variances of 20% or more, because of varying cache-hit
          ratios due to sharing of the cache with other processes.
          Even if a program seems to be the only one using the
          machine, hidden background or asynchronous processes may
          blur the data.  In rare cases, the clock ticks initiating
          recording of the program counter may ``beat'' with loops in
          a program, grossly distorting measurements.

          Call counts are always recorded precisely.

     CAVEATS
          Only programs that call exit(2) or return from main will
          cause a profile file to be produced, unless a final call to
          monitor is explicitly coded.

          The use of the -p option to cc(1) to invoke profiling
          imposes a limit of 600 functions that may have call counters
          established during program execution.  For more counters you
          must call monitor(3C) directly.  If this limit is exceeded,
          other data will be overwritten and the mon.out file will be
          corrupted.  The number of call counters used will be
          reported automatically by the prof command whenever the
          number exceeds 5/6 of the maximum.




     Licensed material--property of copyright holder(s)         Page 2



Typewritten Software • bear@typewritten.org • Edmonds, WA 98026