blob: 5ef1493a46a3ea190a12665ac8f6fc79198a501c [file] [log] [blame]
% File src/library/base/man/setTimeLimit.Rd
% Part of the R package, https://www.R-project.org
% Copyright 1995-2016 R Core Team
% Distributed under GPL 2 or later
\name{setTimeLimit}
\alias{setTimeLimit}
\alias{setSessionTimeLimit}
\title{Set CPU and/or Elapsed Time Limits}
\description{
Functions to set CPU and/or elapsed time limits for top-level
computations or the current session.
}
\usage{
setTimeLimit(cpu = Inf, elapsed = Inf, transient = FALSE)
setSessionTimeLimit(cpu = Inf, elapsed = Inf)
}
\arguments{
\item{cpu, elapsed}{double (of length one). Set a limit on
the total or elapsed cpu time in seconds, respectively.}
\item{transient}{logical. If \code{TRUE}, the limits apply only to
the rest of the current computation.}
}
\details{
\code{setTimeLimit} sets limits which apply to each top-level
computation, that is a command line (including any continuation lines)
entered at the console or from a file. If it is called from within a
computation the limits apply to the rest of the computation and
(unless \code{transient = TRUE}) to subsequent top-level computations.
\code{setSessionTimeLimit} sets limits for the rest of the
session. Once a session limit is reached it is reset to \code{Inf}.
Setting any limit has a small overhead -- well under 1\% on the
systems measured.
Time limits are checked whenever a user interrupt could occur.
This will happen frequently in \R code and during \code{\link{Sys.sleep}},
but only at points in compiled C and Fortran code identified by the
code author.
#ifdef unix
\sQuote{Total cpu time} includes that used by child processes where
the latter is reported.
#endif
}
\keyword{ utilities }