123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 |
- .TH CPUTIME 2
- .SH NAME
- cputime, times, cycles \- cpu time in this process and children
- .SH SYNOPSIS
- .B #include <u.h>
- .br
- .B #include <libc.h>
- .PP
- .ta \w'\fLdouble 'u
- .B
- long times(long t[4])
- .PP
- .B
- double cputime(void)
- .PP
- .B
- void cycles(uvlong *cyclep)
- .SH DESCRIPTION
- If
- .I t
- is non-null,
- .I times
- fills it in
- with the number of milliseconds spent in user code, system calls,
- child processes in user code, and child processes in system calls.
- .I Cputime
- returns the sum of those same times, converted to seconds.
- .I Times
- returns the elapsed real time, in milliseconds, that the process has been running.
- .PP
- These functions read
- .BR /dev/cputime ,
- opening that file when they are first called.
- .PP
- .I Cycles
- reads the processor's timestamp counter of cycles since reset,
- if any, and stores it via
- .IR cyclep .
- Currently supported architectures are
- .BR 386 ,
- .BR amd64 ,
- and
- .BR power ;
- on all others,
- .I cycles
- will store zero.
- .SH SOURCE
- .B /sys/src/libc/9sys
- .br
- .B /sys/src/libc/*/cycles.[cs]
- .SH SEE ALSO
- .IR exec (2),
- .IR cons (3)
- .SH BUGS
- Only
- .B 386
- processors starting with the Pentium have timestamp counters;
- calling
- .I cycles
- on earlier processors may execute an illegal instruction.
|