summaryrefslogtreecommitdiffstats
path: root/man/man3/profil.3
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-05-24 04:52:22 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-05-24 04:52:22 +0000
commit3d08cd331c1adcf0d917392f7e527b3f00511748 (patch)
tree312f0d1e1632f48862f044b8bb87e602dcffb5f9 /man/man3/profil.3
parentAdding debian version 6.7-2. (diff)
downloadmanpages-3d08cd331c1adcf0d917392f7e527b3f00511748.tar.xz
manpages-3d08cd331c1adcf0d917392f7e527b3f00511748.zip
Merging upstream version 6.8.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'man/man3/profil.3')
-rw-r--r--man/man3/profil.394
1 files changed, 94 insertions, 0 deletions
diff --git a/man/man3/profil.3 b/man/man3/profil.3
new file mode 100644
index 0000000..d4773c3
--- /dev/null
+++ b/man/man3/profil.3
@@ -0,0 +1,94 @@
+'\" t
+.\" Copyright 1993 Rickard E. Faith (faith@cs.unc.edu)
+.\"
+.\" SPDX-License-Identifier: Linux-man-pages-copyleft
+.\"
+.\" Modified Fri Jun 23 01:35:19 1995 Andries Brouwer <aeb@cwi.nl>
+.\" (prompted by Bas V. de Bakker <bas@phys.uva.nl>)
+.\" Corrected (and moved to man3), 980612, aeb
+.TH profil 3 2024-05-02 "Linux man-pages (unreleased)"
+.SH NAME
+profil \- execution time profile
+.SH LIBRARY
+Standard C library
+.RI ( libc ", " \-lc )
+.SH SYNOPSIS
+.nf
+.B #include <unistd.h>
+.P
+.BI "int profil(unsigned short *" buf ", size_t " bufsiz ,
+.BI " size_t " offset ", unsigned int " scale );
+.P
+.fi
+.RS -4
+Feature Test Macro Requirements for glibc (see
+.BR feature_test_macros (7)):
+.RE
+.P
+.BR profil ():
+.nf
+ Since glibc 2.21:
+.\" commit 266865c0e7b79d4196e2cc393693463f03c90bd8
+ _DEFAULT_SOURCE
+ In glibc 2.19 and 2.20:
+ _DEFAULT_SOURCE || (_XOPEN_SOURCE && _XOPEN_SOURCE < 500)
+ Up to and including glibc 2.19:
+ _BSD_SOURCE || (_XOPEN_SOURCE && _XOPEN_SOURCE < 500)
+.fi
+.SH DESCRIPTION
+This routine provides a means to find out in what areas your program
+spends most of its time.
+The argument
+.I buf
+points to
+.I bufsiz
+bytes of core.
+Every virtual 10 milliseconds, the user's program counter (PC)
+is examined:
+.I offset
+is subtracted and the result is multiplied by
+.I scale
+and divided by 65536.
+If the resulting value is less than
+.IR bufsiz ,
+then the corresponding entry in
+.I buf
+is incremented.
+If
+.I buf
+is NULL, profiling is disabled.
+.SH RETURN VALUE
+Zero is always returned.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lbx lb lb
+l l l.
+Interface Attribute Value
+T{
+.na
+.nh
+.BR profil ()
+T} Thread safety MT-Unsafe
+.TE
+.SH STANDARDS
+None.
+.SH HISTORY
+Similar to a call in SVr4.
+.SH BUGS
+.BR profil ()
+cannot be used on a program that also uses
+.B ITIMER_PROF
+interval timers (see
+.BR setitimer (2)).
+.P
+True kernel profiling provides more accurate results.
+.\" Libc 4.4 contained a kernel patch providing a system call profil.
+.SH SEE ALSO
+.BR gprof (1),
+.BR sprof (1),
+.BR setitimer (2),
+.BR sigaction (2),
+.BR signal (2)