\HeaderA{proc.time}{Running Time of R}{proc.time}
\keyword{utilities}{proc.time}
\begin{Description}\relax
\code{proc.time} determines how much time (in seconds) the currently
running \R{} process already consumed.
\end{Description}
\begin{Usage}
\begin{verbatim}
proc.time()
\end{verbatim}
\end{Usage}
\begin{Value}
A numeric vector of length 5, containing the user, system, and total
elapsed times for the currently running \R{} process, and the cumulative
sum of user and system times of any child processes spawned by it.

The resolution of the times will be system-specific;
and times are rounded to the nearest 1ms.  On modern systems they will
be that accurate, but on older systems they might be accurate to
1/100 or 1/60 sec.

It is most useful for \dQuote{timing} the evaluation of \R{} expressions,
which can be done conveniently with \code{\LinkA{system.time}{system.time}}.
\end{Value}
\begin{Note}\relax
It is possible to compile \R{} without support for \code{proc.time},
when the function will throw an error.
\end{Note}
\begin{References}\relax
Becker, R. A., Chambers, J. M. and Wilks, A. R. (1988)
\emph{The New S Language}.
Wadsworth \& Brooks/Cole.
\end{References}
\begin{SeeAlso}\relax
\code{\LinkA{system.time}{system.time}} for timing a valid \R{} expression,
\code{\LinkA{gc.time}{gc.time}} for how much of the time was spent in garbage
collection.
\end{SeeAlso}
\begin{Examples}
\begin{ExampleCode}## Not run: 
## a way to time an R expression: system.time is preferred
ptm <- proc.time()
for (i in 1:50) mad(runif(500))
proc.time() - ptm
## End(Not run)\end{ExampleCode}
\end{Examples}

