From 09f4f904af23a34d68d5d78482a5b9e12d9a9494 Mon Sep 17 00:00:00 2001 From: Johannes Ranke Date: Fri, 4 Nov 2016 15:38:09 +0100 Subject: Static documentation rebuilt by pkgdown::build_site() With updated pkgdown with my PR --- docs/articles/compiled_models.html | 50 +++++++++++++++++--------------------- 1 file changed, 22 insertions(+), 28 deletions(-) (limited to 'docs/articles/compiled_models.html') diff --git a/docs/articles/compiled_models.html b/docs/articles/compiled_models.html index 5a04168e..09039f62 100644 --- a/docs/articles/compiled_models.html +++ b/docs/articles/compiled_models.html @@ -24,13 +24,7 @@
  • News
  • - + @@ -41,14 +35,14 @@

    Performance benefit by using compiled model definitions in mkin

    Johannes Ranke

    -

    2016-11-03

    +

    2016-11-04

    -
    -

    Benchmark for a model that can also be solved with Eigenvalues

    +
    +

    Model that can also be solved with Eigenvalues

    This evaluation is taken from the example section of mkinfit. When using an mkin version equal to or greater than 0.9-36 and a C compiler (gcc) is available, you will see a message that the model is being compiled from autogenerated C code when defining a model using mkinmod. The mkinmod() function checks for presence of the gcc compiler using

    Sys.which("gcc")
    ##            gcc 
    @@ -78,25 +72,25 @@ mb.1 <- micr
     print(mb.1)
    ## Unit: milliseconds
     ##                   expr       min        lq      mean    median        uq
    -##  deSolve, not compiled 6306.4527 6340.7895 6403.5937 6375.1264 6452.1643
    -##       Eigenvalue based  918.0808  929.7217  948.9742  941.3626  964.4210
    -##      deSolve, compiled  736.1337  753.6016  773.5605  771.0696  792.2739
    +##  deSolve, not compiled 6581.1731 6598.7831 6630.0395 6616.3931 6654.4726
    +##       Eigenvalue based  880.1617  890.3517  911.2758  900.5416  926.8328
    +##      deSolve, compiled  739.4343  749.6078  753.6543  759.7813  760.7643
     ##        max neval cld
    -##  6529.2022     3   b
    -##   987.4793     3  a 
    -##   813.4783     3  a
    +## 6692.5522 3 c +## 953.1240 3 b +## 761.7474 3 a
    autoplot(mb.1)

    -

    We see that using the compiled model is by a factor of 8.3 faster than using the R version with the default ode solver, and it is even faster than the Eigenvalue based solution implemented in R which does not need iterative solution of the ODEs:

    +

    We see that using the compiled model is by a factor of 8.7 faster than using the R version with the default ode solver, and it is even faster than the Eigenvalue based solution implemented in R which does not need iterative solution of the ODEs:

    rownames(smb.1) <- smb.1$expr
     smb.1["median"]/smb.1["deSolve, compiled", "median"]
    ##                         median
    -## deSolve, not compiled 8.267900
    -## Eigenvalue based      1.220853
    +## deSolve, not compiled 8.708286
    +## Eigenvalue based      1.185264
     ## deSolve, compiled     1.000000
    -
    -

    Benchmark for a model that can not be solved with Eigenvalues

    +
    +

    Model that can not be solved with Eigenvalues

    This evaluation is also taken from the example section of mkinfit.

    FOMC_SFO <- mkinmod(
       parent = mkinsub("FOMC", "m1"),
    @@ -114,18 +108,18 @@ smb.1["median"]/smbprint(mb.2)
    ## Unit: seconds
     ##                   expr       min        lq      mean    median        uq
    -##  deSolve, not compiled 13.604720 13.667244 13.689764 13.729768 13.732286
    -##      deSolve, compiled  1.305077  1.311124  1.328943  1.317172  1.340876
    +##  deSolve, not compiled 13.756286 13.813205 13.874083 13.870125 13.932982
    +##      deSolve, compiled  1.323196  1.372916  1.391915  1.422635  1.426274
     ##        max neval cld
    -##  13.734804     3   b
    -##   1.364579     3  a
    +## 13.995838 3 b +## 1.429913 3 a
    smb.2["median"]/smb.2["deSolve, compiled", "median"]
    ##   median
     ## 1     NA
     ## 2     NA
    autoplot(mb.2)

    -

    Here we get a performance benefit of a factor of 10.4 using the version of the differential equation model compiled from C code!

    +

    Here we get a performance benefit of a factor of 9.7 using the version of the differential equation model compiled from C code!

    This vignette was built with mkin 0.9.44.9000 on

    ## R version 3.3.2 (2016-10-31)
     ## Platform: x86_64-pc-linux-gnu (64-bit)
    @@ -138,8 +132,8 @@ smb.1["median"]/smb
             
           
    -- cgit v1.2.1