Rprof {utils} | R Documentation

## Enable Profiling of R's Execution

### Description

Enable or disable profiling of the execution of R expressions.

### Usage

    Rprof(filename = "Rprof.out", append = FALSE, interval = 0.02,
           memory.profiling=FALSE)

### Arguments

`filename` | The file to be used for recording the profiling results. Set to `NULL` or `""` to disable profiling.
`append` | logical: should the file be over-written or appended to?
`interval` | real: time interval between samples.
`memory.profiling` | logical: write memory use information to the file?

### Details

Enabling profiling automatically disables any existing profiling to another or the same file.

Profiling works by writing out the call stack every `interval` seconds, to the file specified. Either the `summaryRprof` function or the Perl script `R CMD Rprof` can be used to process the output file to produce a summary of the usage; use `R CMD Rprof --help` for usage information.

Note that the timing interval cannot be too small: once the timer goes off, the information is not recorded until the next timing click (probably in the range 1–10msecs).

### Note

Profiling is not available on all platforms. By default, it is attempted to compile support for profiling. Configure R with --disable-R-profiling to change this.

As R profiling uses the same mechanisms as C profiling, the two cannot be used together, so do not use `Rprof` in an executable built for profiling.

### See Also

The chapter on “Tidying and profiling R code” in “Writing R Extensions” (see the ‘doc/manual’ subdirectory of the R source tree).

`summaryRprof`

`tracemem`, `Rprofmem` for other ways to track memory use.

### Examples

    ## Not run:
    Rprof()
    ## some code to be profiled
    Rprof(NULL)
    ## some code NOT to be profiled
    Rprof(append=TRUE)
    ## some code to be profiled
    Rprof(NULL)
    ...
    ## Now post-process the output as described in Details
    ## End(Not run)

[Package utils version 2.8.1 Index]