Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

profil(2) [v7 man page]

PROFIL(2)							System Calls Manual							 PROFIL(2)

NAME
profil - execution time profile SYNOPSIS
profil(buff, bufsiz, offset, scale) char *buff; int bufsiz, offset, scale; DESCRIPTION
Buff points to an area of core whose length (in bytes) is given by bufsiz. After this call, the user's program counter (pc) is examined each clock tick (60th second); offset is subtracted from it, and the result multiplied by scale. If the resulting number corresponds to a word inside buff, that word is incremented. The scale is interpreted as an unsigned, fixed-point fraction with binary point at the left: 0177777(8) gives a 1-1 mapping of pc's to words in buff; 077777(8) maps each pair of instruction words together. 02(8) maps all instructions onto the beginning of buff (producing a non-interrupting core clock). Profiling is turned off by giving a scale of 0 or 1. It is rendered ineffective by giving a bufsiz of 0. Profiling is turned off when an exec is executed, but remains on in child and parent both after a fork. Profiling may be turned off if an update in buff would cause a memory fault. SEE ALSO
monitor(3), prof(1) ASSEMBLER
(profil = 44.) sys profil; buff; bufsiz; offset; scale PROFIL(2)

Check Out this Related Man Page

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 milliseconds, 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 incremented. 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 1993-07-23 PROFIL(3)
Man Page

4 More Discussions You Might Find Interesting

1. Programming

how to use _PROTOTYPE?

os:sco operserver 5.05 my program: /*ptest.c*/ #include <stdio.h> #include <stdlib.h> static int Test0(char *buff) { printf("Func:Test0 %s\n",buff); return 1; } static int Test1(char *buff) { printf("Func:Test1 %s\n",buff); return 1; } _PROTOTYPE(static int Test0,... (0 Replies)
Discussion started by: yiyi
0 Replies

2. Programming

Need ideas how to attack this problem

I'm at a total loss how to attack this problem. I have a file that contains ab What I need to do is if 1)if the string "ab" doesn't contain a newline, I need to insert one back into the buffer. 2)If the file contains two consecutive blank lines, skip over it. Here is what I started ... (5 Replies)
Discussion started by: frequency8
5 Replies

3. Shell Programming and Scripting

bc "scale" question.

Can someone explain to me please why the scale=3 fails to give me an answer to 3 decimal places in the first example of calling bc below but succeeds in the second? I know I can use a printf modifier to get the answer to 3 decimal places but I'd like to understand what's going on with bc. ... (8 Replies)
Discussion started by: gencon
8 Replies

4. Programming

Program Hangs

I have two programs, DriverScale.c and scale9.c. DriverScale.c calls scale 9.c which sends a W and a carraige return to the scale which SHOULD return the weight to DriverScale. However scale 9 hangs for at least 10 min, and then finally returns the weight. Compilation: ... (8 Replies)
Discussion started by: Meow613
8 Replies