proc.time                package:base                R Documentation

Running Time of R

Description:

     'proc.time' determines how much real and CPU time (in seconds) the
     currently running R process has already taken.

Usage:

     proc.time()

Details:

     'proc.time' returns five elements for backwards compatibility, but
     its 'print' method prints a named vector of length 3.  The first
     two entries are the total user and system CPU times of the current
     R process and any child processes on which it has waited, and the
     third entry is the 'real' elapsed time since the process was
     started.

Value:

     An object of class '"proc_time"' which is 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 on which it
     has waited.  (The 'print' method combines the child times with
     those of the main process.)

     The definition of 'user' and 'system' times is from your OS. 
     Typically it is something like

     _The 'user time' is the CPU time charged for the execution of user
     instructions of the calling process. The 'system time' is the CPU
     time charged for execution by the system on behalf of the calling
     process._

     The resolution of the times will be system-specific and on
     Unix-alikes 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.

Note:

     It is possible to compile R without support for 'proc.time', when
     the function will throw an error.

References:

     Becker, R. A., Chambers, J. M. and Wilks, A. R. (1988) _The New S
     Language_. Wadsworth & Brooks/Cole.

See Also:

     'system.time' for timing a valid R expression, 'gc.time' for how
     much of the time was spent in garbage collection.

Examples:

     ## Not run: 
     ## a way to time an R expression: system.time is preferred
     ptm <- proc.time()
     for (i in 1:50) mad(stats::runif(500))
     proc.time() - ptm
     ## End(Not run)

