proc.time {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 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 useful for timing the evaluation of R expressions, which can be done more conveniently with `system.time`.

### 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)

[Package base version 2.6.0 Index]