system.time {base} | R Documentation

## CPU Time Used

### Description

Return CPU (and other) times that `expr` used.

### Usage

    system.time(expr, gcFirst = TRUE)
    unix.time(expr, gcFirst = TRUE)

### Arguments

`expr` | Valid R expression to be “timed”
`gcFirst` | Logical - should a garbage collection be performed immediately before the timing? Default is `TRUE`.

### Details

`system.time` calls the builtin `proc.time`, evaluates `expr`, and then calls `proc.time` once more, returning the difference between the two `proc.time` calls.

`unix.time` is an alias of `system.time`, for compatibility reasons.

Timings of evaluations of the same expression can vary considerably depending on whether the evaluation triggers a garbage collection. When `gcFirst` is `TRUE` a garbage collection (`gc`) will be performed immediately before the evaluation of `expr`. This will usually produce more consistent timings.

### Value

A numeric vector of length 5 containing the user cpu, system cpu, elapsed, subproc1, subproc2 times. The subproc times are the user and system cpu time used by child processes (and so are usually zero).
On Windows the subproc times are not available and so are always `NA`. The first two components are not available on Windows 9x, and so are reported as `NA`; they do return real values on NT-based versions of Windows.
The resolution of the times will be system-specific; see `proc.time` for details.

### See Also

`proc.time`, `time` which is for time series.

### Examples

    require(stats)
    system.time(for(i in 1:100) mad(runif(1000)))
    ## Not run:
    exT <- function(n = 1000) {
      # Purpose: Test if system.time works ok;   n: loop size
      system.time(for(i in 1:n) x <- mean(rt(1000, df=4)))
    }
    #-- Try to interrupt one of the following (using Ctrl-C / Escape):
    exT()                 #- about 3 secs on a 1GHz PIII
    system.time(exT())    #~ +/- same
    ## End(Not run)

[Package base version 2.3.1 Index]