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 3395.211 3761.3600 5680.54381 4555.2475 6720.9145 11908.309
## vectorized 31.673 32.8465 50.09403 35.3395 58.2145 130.506
## neval cld
## 100 b
## 100 a
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: