aboutsummaryrefslogtreecommitdiff
path: root/docs/articles/compiled_models.html
diff options
context:
space:
mode:
Diffstat (limited to 'docs/articles/compiled_models.html')
-rw-r--r--docs/articles/compiled_models.html50
1 files changed, 22 insertions, 28 deletions
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 @@
<li>
<a href="../news/index.html">News</a>
</li>
- </ul><ul class="nav navbar-nav navbar-right"><li>
- <a href="http://github.com/jranke/mkin">
- <span class="fa fa-github fa-lg"></span>
-
- </a>
-</li>
- </ul></div><!--/.nav-collapse -->
+ </ul><ul class="nav navbar-nav navbar-right"></ul></div><!--/.nav-collapse -->
</div><!--/.container -->
</div><!--/.navbar -->
@@ -41,14 +35,14 @@
<h1>Performance benefit by using compiled model definitions in mkin</h1>
<h4 class="author">Johannes Ranke</h4>
- <h4 class="date">2016-11-03</h4>
+ <h4 class="date">2016-11-04</h4>
</div>
<div class="contents">
-<div id="benchmark-for-a-model-that-can-also-be-solved-with-eigenvalues" class="section level2">
-<h2 class="hasAnchor"><html><body><a href="#benchmark-for-a-model-that-can-also-be-solved-with-eigenvalues" class="anchor"> </a></body></html>Benchmark for a model that can also be solved with Eigenvalues</h2>
+<div id="model-that-can-also-be-solved-with-eigenvalues" class="section level2">
+<h2 class="hasAnchor"><html><body><a href="#model-that-can-also-be-solved-with-eigenvalues" class="anchor"> </a></body></html>Model that can also be solved with Eigenvalues</h2>
<p>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 <code><a href="../reference/mkinmod.html">mkinmod()</a></code> function checks for presence of the gcc compiler using</p>
<div class="sourceCode"><pre class="sourceCode r"><code class="sourceCode r"><span class="kw">Sys.which</span>(<span class="st">"gcc"</span>)</code></pre></div>
<pre><code>## gcc
@@ -78,25 +72,25 @@ mb<span class="fl">.1</span> &lt;-<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 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</code></pre>
+## 6692.5522 3 c
+## 953.1240 3 b
+## 761.7474 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.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:</p>
+<p>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:</p>
<div class="sourceCode"><pre class="sourceCode r"><code class="sourceCode r"><span class="kw">rownames</span>(smb<span class="fl">.1</span>) &lt;-<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.267900
-## Eigenvalue based 1.220853
+## deSolve, not compiled 8.708286
+## Eigenvalue based 1.185264
## deSolve, compiled 1.000000</code></pre>
</div>
-<div id="benchmark-for-a-model-that-can-not-be-solved-with-eigenvalues" class="section level2">
-<h2 class="hasAnchor"><html><body><a href="#benchmark-for-a-model-that-can-not-be-solved-with-eigenvalues" class="anchor"> </a></body></html>Benchmark for a model that can not be solved with Eigenvalues</h2>
+<div id="model-that-can-not-be-solved-with-eigenvalues" class="section level2">
+<h2 class="hasAnchor"><html><body><a href="#model-that-can-not-be-solved-with-eigenvalues" class="anchor"> </a></body></html>Model that can not be solved with Eigenvalues</h2>
<p>This evaluation is also taken from the example section of mkinfit.</p>
<div class="sourceCode"><pre class="sourceCode r"><code class="sourceCode r">FOMC_SFO &lt;-<span class="st"> </span><span class="kw"><a href="../reference/mkinmod.html">mkinmod</a></span>(
<span class="dt">parent =</span> <span class="kw"><a href="../reference/mkinsub.html">mkinsub</a></span>(<span class="st">"FOMC"</span>, <span class="st">"m1"</span>),
@@ -114,18 +108,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.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</code></pre>
+## 13.995838 3 b
+## 1.429913 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 10.4 using the version of the differential equation model compiled from C code!</p>
+<p>Here we get a performance benefit of a factor of 9.7 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)
@@ -138,8 +132,8 @@ smb<span class="fl">.1</span>[<span class="st">"median"</span>]/smb<span class="
<div class="col-md-3 hidden-xs hidden-sm" id="sidebar">
<div id="tocnav">
<h2>Contents</h2>
- <ul class="nav nav-pills nav-stacked"><li><a href="#benchmark-for-a-model-that-can-also-be-solved-with-eigenvalues">Benchmark for a model that can also be solved with Eigenvalues</a></li>
- <li><a href="#benchmark-for-a-model-that-can-not-be-solved-with-eigenvalues">Benchmark for a model that can not be solved with Eigenvalues</a></li>
+ <ul class="nav nav-pills nav-stacked"><li><a href="#model-that-can-also-be-solved-with-eigenvalues">Model that can also be solved with Eigenvalues</a></li>
+ <li><a href="#model-that-can-not-be-solved-with-eigenvalues">Model that can not be solved with Eigenvalues</a></li>
</ul></div>
</div>

Contact - Imprint