This is a short effort to give users an idea of how long the functions take to process. The benchmarks were performed using the default R install on Travis CI.

We will be estimating a tri-diagonal precision matrix with dimension \(p = 100\):



  • Default convergence tolerance with specified tuning parameter (no cross validation):


# benchmark CVglasso - defaults
microbenchmark(GLASSO(S = sample, lam = 0.1, trace = "none"))
## Unit: milliseconds
##                                           expr      min       lq     mean
##  GLASSO(S = sample, lam = 0.1, trace = "none") 169.3704 173.3424 175.9905
##    median       uq      max neval
##  174.9908 177.0388 199.4217   100


  • Default convergence tolerance with cross validation for lam:


## Unit: seconds
##                       expr      min       lq     mean   median       uq
##  GLASSO(X, trace = "none") 9.408677 9.451392 9.946536 10.09357 10.24701
##       max neval
##  10.53203     5


  • Parallel (cores = 2) cross validation:


# benchmark CVglasso parallel CV
microbenchmark(GLASSO(X, cores = 2, trace = "none"), times = 5)
## Unit: seconds
##                                  expr      min       lq     mean   median
##  GLASSO(X, cores = 2, trace = "none") 7.057724 7.063606 7.374455 7.322304
##        uq      max neval
##  7.337788 8.090854     5