summaryrefslogtreecommitdiffstats
path: root/man3/profil.3
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--man3/profil.395
1 files changed, 95 insertions, 0 deletions
diff --git a/man3/profil.3 b/man3/profil.3
new file mode 100644
index 0000000..caa5f48
--- /dev/null
+++ b/man3/profil.3
@@ -0,0 +1,95 @@
+'\" 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 2023-07-20 "Linux man-pages 6.05.01"
+.SH NAME
+profil \- execution time profile
+.SH LIBRARY
+Standard C library
+.RI ( libc ", " \-lc )
+.SH SYNOPSIS
+.nf
+.B #include <unistd.h>
+.PP
+.BI "int profil(unsigned short *" buf ", size_t " bufsiz ,
+.BI " size_t " offset ", unsigned int " scale );
+.PP
+.fi
+.RS -4
+Feature Test Macro Requirements for glibc (see
+.BR feature_test_macros (7)):
+.RE
+.PP
+.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
+.sp 1
+.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)).
+.PP
+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)