Learn R Programming

base (version 3.3.2)

system.time: 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.

Value

A object of class "proc_time": see proc.time for details.

Details

system.time calls the function 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 with S. 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.

See Also

proc.time, time which is for time series. Sys.time to get the current date & time.

Examples

Run this code
require(stats)
system.time(for(i in 1:100) mad(runif(1000)))
## Not run: ------------------------------------
# exT <- function(n = 10000) {
#   # 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 4 secs on a 2.5GHz Xeon
# system.time(exT())    #~ +/- same
## ---------------------------------------------

Run the code above in your browser using DataLab