vignettes/R-Profiling-code.Rmd
R-Profiling-code.Rmd
AFTER that, then you can use 2 great tools:
profvis
package (built into the latest Rstudio previews, but not the official release version)microbenchmark
packagemicrobenchmark::microbenchmark(
loop = {
a <- vector()
for (i in 1:1000) a[i] <- runif(1)
},
vectorized = { a <- runif(1000) }
)
## Unit: microseconds
## expr min lq mean median uq max
## loop 3049.572 3283.860 3974.53643 3505.0200 4414.093 11028.851
## vectorized 29.902 31.726 35.98439 32.8195 35.372 70.743
## neval
## 100
## 100
If you have Rstudio version >=0.99.1208
, then it has profiling as a menu item.
alternatively, we wrap any block of code with profvis
This can be a spades()
call, so it will show you the entire model:
profvis::profvis({a <- rnorm(10000000)})
spades
callTry it:
mySim <- simInit(
times = list(start = 0.0, end = 2.0, timeunit = "year"),
params = list(
.globals = list(stackName = "landscape", burnStats = "nPixelsBurned")
),
modules = list("randomLandscapes", "fireSpread", "caribouMovement"),
paths = list(modulePath = system.file("sampleModules", package = "SpaDES"))
)
profvis::profvis({spades(mySim)})
If you have used these tools, then: