PROFIL(3)           Linux Programmer's Manual           PROFIL(3)

NAME
       profil - execution time profile

SYNOPSIS
       #include <unistd.h>

       int  profil(u_short  *buf,  size_t  bufsiz, size_t offset,
       u_int scale);

DESCRIPTION
       This routine provides a means to find out  in  what  areas
       your  program  spends  most  of its time. The argument buf
       points to bufsiz bytes of core.   Every  virtual  10  mil-
       liseconds,  the  user's  program counter (PC) is examined:
       offset is subtracted and the result is multiplied by scale
       and divided by 65536.  If the resulting value is less than
       bufsiz, then the corresponding  entry  in  buf  is  incre-
       mented.  If buf is NULL, profiling is disabled.

RETURN VALUE
       Zero is always returned.

BUGS
       profil  cannot  be  used  on  a  program  that  also  uses
       ITIMER_PROF itimers.

       True kernel  profiling  provides  more  accurate  results.
       Libc  4.4 contained a kernel patch providing a system call
       profil.

CONFORMING TO
       Similar to a call in SVr4 (but not POSIX.1).

SEE ALSO
       gprof(1), setitimer(2), signal(2), sigaction(2)

Linux 2.0                  23 July 1993                         1