diff options
Diffstat (limited to 'docs/articles/compiled_models.html')
-rw-r--r-- | docs/articles/compiled_models.html | 42 |
1 files changed, 21 insertions, 21 deletions
diff --git a/docs/articles/compiled_models.html b/docs/articles/compiled_models.html index 153841ae..1446a357 100644 --- a/docs/articles/compiled_models.html +++ b/docs/articles/compiled_models.html @@ -41,7 +41,7 @@ <h1>Performance benefit by using compiled model definitions in mkin</h1> <h4 class="author">Johannes Ranke</h4> - <h4 class="date">2016-11-04</h4> + <h4 class="date">2016-11-17</h4> </div> @@ -63,12 +63,12 @@ SFO_SFO <-<span class="st"> </span><span class="kw"><a href="../reference/mki <div class="sourceCode"><pre class="sourceCode r"><code class="sourceCode r"><span class="kw">library</span>(<span class="st">"microbenchmark"</span>) <span class="kw">library</span>(<span class="st">"ggplot2"</span>) mb<span class="fl">.1</span> <-<span class="st"> </span><span class="kw">microbenchmark</span>( - <span class="st">"deSolve, not compiled"</span> =<span class="st"> </span><span class="kw"><a href="../reference/mkinfit.html">mkinfit</a></span>(SFO_SFO, FOCUS_2006_D, - <span class="dt">solution_type =</span> <span class="st">"deSolve"</span>, + <span class="st">"deSolve, not compiled"</span> =<span class="st"> </span><span class="kw"><a href="../reference/mkinfit.html">mkinfit</a></span>(SFO_SFO, FOCUS_2006_D, + <span class="dt">solution_type =</span> <span class="st">"deSolve"</span>, <span class="dt">use_compiled =</span> <span class="ot">FALSE</span>, <span class="dt">quiet =</span> <span class="ot">TRUE</span>), - <span class="st">"Eigenvalue based"</span> =<span class="st"> </span><span class="kw"><a href="../reference/mkinfit.html">mkinfit</a></span>(SFO_SFO, FOCUS_2006_D, + <span class="st">"Eigenvalue based"</span> =<span class="st"> </span><span class="kw"><a href="../reference/mkinfit.html">mkinfit</a></span>(SFO_SFO, FOCUS_2006_D, <span class="dt">solution_type =</span> <span class="st">"eigen"</span>, <span class="dt">quiet =</span> <span class="ot">TRUE</span>), - <span class="st">"deSolve, compiled"</span> =<span class="st"> </span><span class="kw"><a href="../reference/mkinfit.html">mkinfit</a></span>(SFO_SFO, FOCUS_2006_D, + <span class="st">"deSolve, compiled"</span> =<span class="st"> </span><span class="kw"><a href="../reference/mkinfit.html">mkinfit</a></span>(SFO_SFO, FOCUS_2006_D, <span class="dt">solution_type =</span> <span class="st">"deSolve"</span>, <span class="dt">quiet =</span> <span class="ot">TRUE</span>), <span class="dt">times =</span> <span class="dv">3</span>, <span class="dt">control =</span> <span class="kw">list</span>(<span class="dt">warmup =</span> <span class="dv">0</span>))</code></pre></div> <pre><code>## Warning in microbenchmark(`deSolve, not compiled` = mkinfit(SFO_SFO, @@ -78,21 +78,21 @@ mb<span class="fl">.1</span> <-<span class="st"> </span><span class="kw">micr <span class="kw">print</span>(mb<span class="fl">.1</span>)</code></pre></div> <pre><code>## Unit: milliseconds ## expr min lq mean median uq -## deSolve, not compiled 6282.2220 6293.7637 6323.0479 6305.3053 6343.4608 -## Eigenvalue based 873.2553 886.5949 903.6178 899.9345 918.7990 -## deSolve, compiled 737.7899 738.8794 752.3343 739.9689 759.6065 +## deSolve, not compiled 6251.2433 6291.2435 6315.5160 6331.2438 6347.6524 +## Eigenvalue based 858.2035 903.1770 926.2132 948.1505 960.2181 +## deSolve, compiled 721.0067 739.1361 745.9964 757.2656 758.4913 ## max neval cld -## 6381.6162 3 c -## 937.6634 3 b -## 779.2441 3 a</code></pre> +## 6364.0611 3 c +## 972.2856 3 b +## 759.7171 3 a</code></pre> <div class="sourceCode"><pre class="sourceCode r"><code class="sourceCode r"><span class="kw">autoplot</span>(mb<span class="fl">.1</span>)</code></pre></div> <p><img src="compiled_models_files/figure-html/benchmark_SFO_SFO-1.png" width="672"></p> -<p>We see that using the compiled model is by a factor of 8.5 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:</p> +<p>We see that using the compiled model is by a factor of 8.4 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:</p> <div class="sourceCode"><pre class="sourceCode r"><code class="sourceCode r"><span class="kw">rownames</span>(smb<span class="fl">.1</span>) <-<span class="st"> </span>smb<span class="fl">.1</span>$expr smb<span class="fl">.1</span>[<span class="st">"median"</span>]/smb<span class="fl">.1</span>[<span class="st">"deSolve, compiled"</span>, <span class="st">"median"</span>]</code></pre></div> <pre><code>## median -## deSolve, not compiled 8.521041 -## Eigenvalue based 1.216179 +## deSolve, not compiled 8.360665 +## Eigenvalue based 1.252071 ## deSolve, compiled 1.000000</code></pre> </div> <div id="model-that-can-not-be-solved-with-eigenvalues" class="section level2"> @@ -103,7 +103,7 @@ smb<span class="fl">.1</span>[<span class="st">"median"</span>]/smb<span class=" <span class="dt">m1 =</span> <span class="kw"><a href="../reference/mkinsub.html">mkinsub</a></span>( <span class="st">"SFO"</span>))</code></pre></div> <pre><code>## Successfully compiled differential equation model from auto-generated C code.</code></pre> <div class="sourceCode"><pre class="sourceCode r"><code class="sourceCode r">mb<span class="fl">.2</span> <-<span class="st"> </span><span class="kw">microbenchmark</span>( - <span class="st">"deSolve, not compiled"</span> =<span class="st"> </span><span class="kw"><a href="../reference/mkinfit.html">mkinfit</a></span>(FOMC_SFO, FOCUS_2006_D, + <span class="st">"deSolve, not compiled"</span> =<span class="st"> </span><span class="kw"><a href="../reference/mkinfit.html">mkinfit</a></span>(FOMC_SFO, FOCUS_2006_D, <span class="dt">use_compiled =</span> <span class="ot">FALSE</span>, <span class="dt">quiet =</span> <span class="ot">TRUE</span>), <span class="st">"deSolve, compiled"</span> =<span class="st"> </span><span class="kw"><a href="../reference/mkinfit.html">mkinfit</a></span>(FOMC_SFO, FOCUS_2006_D, <span class="dt">quiet =</span> <span class="ot">TRUE</span>), <span class="dt">times =</span> <span class="dv">3</span>, <span class="dt">control =</span> <span class="kw">list</span>(<span class="dt">warmup =</span> <span class="dv">0</span>))</code></pre></div> @@ -114,18 +114,18 @@ smb<span class="fl">.1</span>[<span class="st">"median"</span>]/smb<span class=" <span class="kw">print</span>(mb<span class="fl">.2</span>)</code></pre></div> <pre><code>## Unit: seconds ## expr min lq mean median uq -## deSolve, not compiled 13.644880 13.648332 13.835874 13.651784 13.931372 -## deSolve, compiled 1.422381 1.448574 1.495091 1.474767 1.531446 -## max neval cld -## 14.210959 3 b -## 1.588125 3 a</code></pre> +## deSolve, not compiled 13.601046 13.602861 13.619563 13.604676 13.628821 +## deSolve, compiled 1.341581 1.346263 1.348298 1.350944 1.351657 +## max neval cld +## 13.65297 3 b +## 1.35237 3 a</code></pre> <div class="sourceCode"><pre class="sourceCode r"><code class="sourceCode r">smb<span class="fl">.2</span>[<span class="st">"median"</span>]/smb<span class="fl">.2</span>[<span class="st">"deSolve, compiled"</span>, <span class="st">"median"</span>]</code></pre></div> <pre><code>## median ## 1 NA ## 2 NA</code></pre> <div class="sourceCode"><pre class="sourceCode r"><code class="sourceCode r"><span class="kw">autoplot</span>(mb<span class="fl">.2</span>)</code></pre></div> <p><img src="compiled_models_files/figure-html/benchmark_FOMC_SFO-1.png" width="672"></p> -<p>Here we get a performance benefit of a factor of 9.3 using the version of the differential equation model compiled from C code!</p> +<p>Here we get a performance benefit of a factor of 10.1 using the version of the differential equation model compiled from C code!</p> <p>This vignette was built with mkin 0.9.44.9000 on</p> <pre><code>## R version 3.3.2 (2016-10-31) ## Platform: x86_64-pc-linux-gnu (64-bit) |