Skip to contents

Extract wall-clock timings for individual computation stages of a fitted INLAvaan model.

Usage

timing(object, ...)

# S4 method for class 'INLAvaan'
timing(object, what = "total", ...)

Arguments

object

An object of class INLAvaan.

...

Currently unused.

what

Character vector of timing segment names to return, or "all" to return every segment. Defaults to "total". Available segments (depending on model options): "init" (which includes the lavaan model setup), "optim", "vb", "loglik", "marginals", "norta", "sampling", "covariances", "definedpars", "deltapars", "test", "loo", "waic", "total". The segments are disjoint and "total" is their sum.

Value

A named numeric vector (class c("timing.INLAvaan", "numeric")) of elapsed times in seconds. Printing formats short durations as seconds, longer ones as minutes or hours.

Examples

# \donttest{
HS.model <- "
  visual  =~ x1 + x2 + x3
  textual =~ x4 + x5 + x6
  speed   =~ x7 + x8 + x9
"
utils::data("HolzingerSwineford1939", package = "lavaan")
fit <- acfa(HS.model, HolzingerSwineford1939, std.lv = TRUE, nsamp = 100,
            test = "none", verbose = FALSE)

# Total elapsed time
timing(fit)
#>  total 
#> 1.23 s 

# All stages
timing(fit, what = "all")
#>        init       optim          vb      loglik   marginals       norta 
#>      0.03 s      0.12 s      0.10 s      0.00 s      0.87 s      0.10 s 
#>    sampling covariances definedpars   deltapars        test       total 
#>      0.01 s      0.00 s      0.00 s      0.00 s      0.00 s      1.23 s 

# Specific stages
timing(fit, what = c("optim", "marginals"))
#>     optim marginals 
#>    0.12 s    0.87 s 
# }