aboutsummaryrefslogblamecommitdiff
path: root/vignettes/compiled_models.html
blob: 3215a3864ba07d443d7cfa697a8b3a434e47ec3c (plain) (tree)
1
2
3
4
5
6
7
               


                                                                    
 
                                                                             
 










                                                              
 





                                        
 


                   
 


                 
 



                       
 



                      
 






                         
        

                             
                               

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         


         
 





                           
 





                    
 

































                                                                                                     
 






                                  
      
























                                 
 


















































                                         

        

 
 
       
 
      
                                                                       









                                                                                           
                             


                           
                                                                                            











                                                  
                                                    










                                                                                           
                            
                          






                                                                                   










                                                                                  
 

                                                                           


                                                                           
                       

























                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 
                                                                      



                                                                          
                                                     






                                                                                           


                                                                                











                                                                                   
                           
                                                                           

                                                                           
                       






                                                                                                       

                      

             
 

                                   
 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      
 



                                                                               
 
                                                  
 



                                                                
 

                                                                  

       
 
       
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>

<title>Benchmark for a model that can also be solved with Eigenvalues</title>

<script type="text/javascript">
window.onload = function() {
  var imgs = document.getElementsByTagName('img'), i, img;
  for (i = 0; i < imgs.length; i++) {
    img = imgs[i];
    // center an image if it is the only element of its parent
    if (img.parentElement.childElementCount === 1)
      img.parentElement.style.textAlign = 'center';
  }
};
</script>

<!-- Styles for R syntax highlighter -->
<style type="text/css">
   pre .operator,
   pre .paren {
     color: rgb(104, 118, 135)
   }

   pre .literal {
     color: #990073
   }

   pre .number {
     color: #099;
   }

   pre .comment {
     color: #998;
     font-style: italic
   }

   pre .keyword {
     color: #900;
     font-weight: bold
   }

   pre .identifier {
     color: rgb(0, 0, 0);
   }

   pre .string {
     color: #d14;
   }
</style>

<!-- R syntax highlighter -->
<script type="text/javascript">
var hljs=new function(){function m(p){return p.replace(/&/gm,"&amp;").replace(/</gm,"&lt;")}function f(r,q,p){return RegExp(q,"m"+(r.cI?"i":"")+(p?"g":""))}function b(r){for(var p=0;p<r.childNodes.length;p++){var q=r.childNodes[p];if(q.nodeName=="CODE"){return q}if(!(q.nodeType==3&&q.nodeValue.match(/\s+/))){break}}}function h(t,s){var p="";for(var r=0;r<t.childNodes.length;r++){if(t.childNodes[r].nodeType==3){var q=t.childNodes[r].nodeValue;if(s){q=q.replace(/\n/g,"")}p+=q}else{if(t.childNodes[r].nodeName=="BR"){p+="\n"}else{p+=h(t.childNodes[r])}}}if(/MSIE [678]/.test(navigator.userAgent)){p=p.replace(/\r/g,"\n")}return p}function a(s){var r=s.className.split(/\s+/);r=r.concat(s.parentNode.className.split(/\s+/));for(var q=0;q<r.length;q++){var p=r[q].replace(/^language-/,"");if(e[p]){return p}}}function c(q){var p=[];(function(s,t){for(var r=0;r<s.childNodes.length;r++){if(s.childNodes[r].nodeType==3){t+=s.childNodes[r].nodeValue.length}else{if(s.childNodes[r].nodeName=="BR"){t+=1}else{if(s.childNodes[r].nodeType==1){p.push({event:"start",offset:t,node:s.childNodes[r]});t=arguments.callee(s.childNodes[r],t);p.push({event:"stop",offset:t,node:s.childNodes[r]})}}}}return t})(q,0);return p}function k(y,w,x){var q=0;var z="";var s=[];function u(){if(y.length&&w.length){if(y[0].offset!=w[0].offset){return(y[0].offset<w[0].offset)?y:w}else{return w[0].event=="start"?y:w}}else{return y.length?y:w}}function t(D){var A="<"+D.nodeName.toLowerCase();for(var B=0;B<D.attributes.length;B++){var C=D.attributes[B];A+=" "+C.nodeName.toLowerCase();if(C.value!==undefined&&C.value!==false&&C.value!==null){A+='="'+m(C.value)+'"'}}return A+">"}while(y.length||w.length){var v=u().splice(0,1)[0];z+=m(x.substr(q,v.offset-q));q=v.offset;if(v.event=="start"){z+=t(v.node);s.push(v.node)}else{if(v.event=="stop"){var p,r=s.length;do{r--;p=s[r];z+=("</"+p.nodeName.toLowerCase()+">")}while(p!=v.node);s.splice(r,1);while(r<s.length){z+=t(s[r]);r++}}}}return z+m(x.substr(q))}function j(){function q(x,y,v){if(x.compiled){return}var u;var s=[];if(x.k){x.lR=f(y,x.l||hljs.IR,true);for(var w in x.k){if(!x.k.hasOwnProperty(w)){continue}if(x.k[w] instanceof Object){u=x.k[w]}else{u=x.k;w="keyword"}for(var r in u){if(!u.hasOwnProperty(r)){continue}x.k[r]=[w,u[r]];s.push(r)}}}if(!v){if(x.bWK){x.b="\\b("+s.join("|")+")\\s"}x.bR=f(y,x.b?x.b:"\\B|\\b");if(!x.e&&!x.eW){x.e="\\B|\\b"}if(x.e){x.eR=f(y,x.e)}}if(x.i){x.iR=f(y,x.i)}if(x.r===undefined){x.r=1}if(!x.c){x.c=[]}x.compiled=true;for(var t=0;t<x.c.length;t++){if(x.c[t]=="self"){x.c[t]=x}q(x.c[t],y,false)}if(x.starts){q(x.starts,y,false)}}for(var p in e){if(!e.hasOwnProperty(p)){continue}q(e[p].dM,e[p],true)}}function d(B,C){if(!j.called){j();j.called=true}function q(r,M){for(var L=0;L<M.c.length;L++){if((M.c[L].bR.exec(r)||[null])[0]==r){return M.c[L]}}}function v(L,r){if(D[L].e&&D[L].eR.test(r)){return 1}if(D[L].eW){var M=v(L-1,r);return M?M+1:0}return 0}function w(r,L){return L.i&&L.iR.test(r)}function K(N,O){var M=[];for(var L=0;L<N.c.length;L++){M.push(N.c[L].b)}var r=D.length-1;do{if(D[r].e){M.push(D[r].e)}r--}while(D[r+1].eW);if(N.i){M.push(N.i)}return f(O,M.join("|"),true)}function p(M,L){var N=D[D.length-1];if(!N.t){N.t=K(N,E)}N.t.lastIndex=L;var r=N.t.exec(M);return r?[M.substr(L,r.index-L),r[0],false]:[M.substr(L),"",true]}function z(N,r){var L=E.cI?r[0].toLowerCase():r[0];var M=N.k[L];if(M&&M instanceof Array){return M}return false}function F(L,P){L=m(L);if(!P.k){return L}var r="";var O=0;P.lR.lastIndex=0;var M=P.lR.exec(L);while(M){r+=L.substr(O,M.index-O);var N=z(P,M);if(N){x+=N[1];r+='<span class="'+N[0]+'">'+M[0]+"</span>"}else{r+=M[0]}O=P.lR.lastIndex;M=P.lR.exec(L)}return r+L.substr(O,L.length-O)}function J(L,M){if(M.sL&&e[M.sL]){var r=d(M.sL,L);x+=r.keyword_count;return r.value}else{return F(L,M)}}function I(M,r){var L=M.cN?'<span class="'+M.cN+'">':"";if(M.rB){y+=L;M.buffer=""}else{if(M.eB){y+=m(r)+L;M.buffer=""}else{y+=L;M.buffer=r}}D.push(M);A+=M.r}function G(N,M,Q){var R=D[D.length-1];if(Q){y+=J(R.buffer+N,R);return false}var P=q(M,R);if(P){y+=J(R.buffer+N,R);I(P,M);return P.rB}var L=v(D.length-1,M);if(L){var O=R.cN?"</span>":"";if(R.rE){y+=J(R.buffer+N,R)+O}else{if(R.eE){y+=J(R.buffer+N,R)+O+m(M)}else{y+=J(R.buffer+N+M,R)+O}}while(L>1){O=D[D.length-2].cN?"</span>":"";y+=O;L--;D.length--}var r=D[D.length-1];D.length--;D[D.length-1].buffer="";if(r.starts){I(r.starts,"")}return R.rE}if(w(M,R)){throw"Illegal"}}var E=e[B];var D=[E.dM];var A=0;var x=0;var y="";try{var s,u=0;E.dM.buffer="";do{s=p(C,u);var t=G(s[0],s[1],s[2]);u+=s[0].length;if(!t){u+=s[1].length}}while(!s[2]);if(D.length>1){throw"Illegal"}return{r:A,keyword_count:x,value:y}}catch(H){if(H=="Illegal"){return{r:0,keyword_count:0,value:m(C)}}else{throw H}}}function g(t){var p={keyword_count:0,r:0,value:m(t)};var r=p;for(var q in e){if(!e.hasOwnProperty(q)){continue}var s=d(q,t);s.language=q;if(s.keyword_count+s.r>r.keyword_count+r.r){r=s}if(s.keyword_count+s.r>p.keyword_count+p.r){r=p;p=s}}if(r.language){p.second_best=r}return p}function i(r,q,p){if(q){r=r.replace(/^((<[^>]+>|\t)+)/gm,function(t,w,v,u){return w.replace(/\t/g,q)})}if(p){r=r.replace(/\n/g,"<br>")}return r}function n(t,w,r){var x=h(t,r);var v=a(t);var y,s;if(v){y=d(v,x)}else{return}var q=c(t);if(q.length){s=document.createElement("pre");s.innerHTML=y.value;y.value=k(q,c(s),x)}y.value=i(y.value,w,r);var u=t.className;if(!u.match("(\\s|^)(language-)?"+v+"(\\s|$)")){u=u?(u+" "+v):v}if(/MSIE [678]/.test(navigator.userAgent)&&t.tagName=="CODE"&&t.parentNode.tagName=="PRE"){s=t.parentNode;var p=document.createElement("div");p.innerHTML="<pre><code>"+y.value+"</code></pre>";t=p.firstChild.firstChild;p.firstChild.cN=s.cN;s.parentNode.replaceChild(p.firstChild,s)}else{t.innerHTML=y.value}t.className=u;t.result={language:v,kw:y.keyword_count,re:y.r};if(y.second_best){t.second_best={language:y.second_best.language,kw:y.second_best.keyword_count,re:y.second_best.r}}}function o(){if(o.called){return}o.called=true;var r=document.getElementsByTagName("pre");for(var p=0;p<r.length;p++){var q=b(r[p]);if(q){n(q,hljs.tabReplace)}}}function l(){if(window.addEventListener){window.addEventListener("DOMContentLoaded",o,false);window.addEventListener("load",o,false)}else{if(window.attachEvent){window.attachEvent("onload",o)}else{window.onload=o}}}var e={};this.LANGUAGES=e;this.highlight=d;this.highlightAuto=g;this.fixMarkup=i;this.highlightBlock=n;this.initHighlighting=o;this.initHighlightingOnLoad=l;this.IR="[a-zA-Z][a-zA-Z0-9_]*";this.UIR="[a-zA-Z_][a-zA-Z0-9_]*";this.NR="\\b\\d+(\\.\\d+)?";this.CNR="\\b(0[xX][a-fA-F0-9]+|(\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)";this.BNR="\\b(0b[01]+)";this.RSR="!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|\\.|-|-=|/|/=|:|;|<|<<|<<=|<=|=|==|===|>|>=|>>|>>=|>>>|>>>=|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~";this.ER="(?![\\s\\S])";this.BE={b:"\\\\.",r:0};this.ASM={cN:"string",b:"'",e:"'",i:"\\n",c:[this.BE],r:0};this.QSM={cN:"string",b:'"',e:'"',i:"\\n",c:[this.BE],r:0};this.CLCM={cN:"comment",b:"//",e:"$"};this.CBLCLM={cN:"comment",b:"/\\*",e:"\\*/"};this.HCM={cN:"comment",b:"#",e:"$"};this.NM={cN:"number",b:this.NR,r:0};this.CNM={cN:"number",b:this.CNR,r:0};this.BNM={cN:"number",b:this.BNR,r:0};this.inherit=function(r,s){var p={};for(var q in r){p[q]=r[q]}if(s){for(var q in s){p[q]=s[q]}}return p}}();hljs.LANGUAGES.cpp=function(){var a={keyword:{"false":1,"int":1,"float":1,"while":1,"private":1,"char":1,"catch":1,"export":1,virtual:1,operator:2,sizeof:2,dynamic_cast:2,typedef:2,const_cast:2,"const":1,struct:1,"for":1,static_cast:2,union:1,namespace:1,unsigned:1,"long":1,"throw":1,"volatile":2,"static":1,"protected":1,bool:1,template:1,mutable:1,"if":1,"public":1,friend:2,"do":1,"return":1,"goto":1,auto:1,"void":2,"enum":1,"else":1,"break":1,"new":1,extern:1,using:1,"true":1,"class":1,asm:1,"case":1,typeid:1,"short":1,reinterpret_cast:2,"default":1,"double":1,register:1,explicit:1,signed:1,typename:1,"try":1,"this":1,"switch":1,"continue":1,wchar_t:1,inline:1,"delete":1,alignof:1,char16_t:1,char32_t:1,constexpr:1,decltype:1,noexcept:1,nullptr:1,static_assert:1,thread_local:1,restrict:1,_Bool:1,complex:1},built_in:{std:1,string:1,cin:1,cout:1,cerr:1,clog:1,stringstream:1,istringstream:1,ostringstream:1,auto_ptr:1,deque:1,list:1,queue:1,stack:1,vector:1,map:1,set:1,bitset:1,multiset:1,multimap:1,unordered_set:1,unordered_map:1,unordered_multiset:1,unordered_multimap:1,array:1,shared_ptr:1}};return{dM:{k:a,i:"</",c:[hljs.CLCM,hljs.CBLCLM,hljs.QSM,{cN:"string",b:"'\\\\?.",e:"'",i:"."},{cN:"number",b:"\\b(\\d+(\\.\\d*)?|\\.\\d+)(u|U|l|L|ul|UL|f|F)"},hljs.CNM,{cN:"preprocessor",b:"#",e:"$"},{cN:"stl_container",b:"\\b(deque|list|queue|stack|vector|map|set|bitset|multiset|multimap|unordered_map|unordered_set|unordered_multiset|unordered_multimap|array)\\s*<",e:">",k:a,r:10,c:["self"]}]}}}();hljs.LANGUAGES.r={dM:{c:[hljs.HCM,{cN:"number",b:"\\b0[xX][0-9a-fA-F]+[Li]?\\b",e:hljs.IMMEDIATE_RE,r:0},{cN:"number",b:"\\b\\d+(?:[eE][+\\-]?\\d*)?L\\b",e:hljs.IMMEDIATE_RE,r:0},{cN:"number",b:"\\b\\d+\\.(?!\\d)(?:i\\b)?",e:hljs.IMMEDIATE_RE,r:1},{cN:"number",b:"\\b\\d+(?:\\.\\d*)?(?:[eE][+\\-]?\\d*)?i?\\b",e:hljs.IMMEDIATE_RE,r:0},{cN:"number",b:"\\.\\d+(?:[eE][+\\-]?\\d*)?i?\\b",e:hljs.IMMEDIATE_RE,r:1},{cN:"keyword",b:"(?:tryCatch|library|setGeneric|setGroupGeneric)\\b",e:hljs.IMMEDIATE_RE,r:10},{cN:"keyword",b:"\\.\\.\\.",e:hljs.IMMEDIATE_RE,r:10},{cN:"keyword",b:"\\.\\.\\d+(?![\\w.])",e:hljs.IMMEDIATE_RE,r:10},{cN:"keyword",b:"\\b(?:function)",e:hljs.IMMEDIATE_RE,r:2},{cN:"keyword",b:"(?:if|in|break|next|repeat|else|for|return|switch|while|try|stop|warning|require|attach|detach|source|setMethod|setClass)\\b",e:hljs.IMMEDIATE_RE,r:1},{cN:"literal",b:"(?:NA|NA_integer_|NA_real_|NA_character_|NA_complex_)\\b",e:hljs.IMMEDIATE_RE,r:10},{cN:"literal",b:"(?:NULL|TRUE|FALSE|T|F|Inf|NaN)\\b",e:hljs.IMMEDIATE_RE,r:1},{cN:"identifier",b:"[a-zA-Z.][a-zA-Z0-9._]*\\b",e:hljs.IMMEDIATE_RE,r:0},{cN:"operator",b:"<\\-(?!\\s*\\d)",e:hljs.IMMEDIATE_RE,r:2},{cN:"operator",b:"\\->|<\\-",e:hljs.IMMEDIATE_RE,r:1},{cN:"operator",b:"%%|~",e:hljs.IMMEDIATE_RE},{cN:"operator",b:">=|<=|==|!=|\\|\\||&&|=|\\+|\\-|\\*|/|\\^|>|<|!|&|\\||\\$|:",e:hljs.IMMEDIATE_RE,r:0},{cN:"operator",b:"%",e:"%",i:"\\n",r:1},{cN:"identifier",b:"`",e:"`",r:0},{cN:"string",b:'"',e:'"',c:[hljs.BE],r:0},{cN:"string",b:"'",e:"'",c:[hljs.BE],r:0},{cN:"paren",b:"[[({\\])}]",e:hljs.IMMEDIATE_RE,r:0}]}};
hljs.initHighlightingOnLoad();
</script>



<style type="text/css">
body, td {
   font-family: sans-serif;
   background-color: white;
   font-size: 13px;
}

body {
  max-width: 800px;
  margin: auto;
  padding: 1em;
  line-height: 20px;
}

tt, code, pre {
   font-family: 'DejaVu Sans Mono', 'Droid Sans Mono', 'Lucida Console', Consolas, Monaco, monospace;
}

h1 {
   font-size:2.2em;
}

h2 {
   font-size:1.8em;
}

h3 {
   font-size:1.4em;
}

h4 {
   font-size:1.0em;
}

h5 {
   font-size:0.9em;
}

h6 {
   font-size:0.8em;
}

a:visited {
   color: rgb(50%, 0%, 50%);
}

pre, img {
  max-width: 100%;
}
pre {
  overflow-x: auto;
}
pre code {
   display: block; padding: 0.5em;
}

code {
  font-size: 92%;
  border: 1px solid #ccc;
}

code[class] {
  background-color: #F8F8F8;
}

table, td, th {
  border: none;
}

blockquote {
   color:#666666;
   margin:0;
   padding-left: 1em;
   border-left: 0.5em #EEE solid;
}

hr {
   height: 0px;
   border-bottom: none;
   border-top-width: thin;
   border-top-style: dotted;
   border-top-color: #999999;
}

@media print {
   * {
      background: transparent !important;
      color: black !important;
      filter:none !important;
      -ms-filter: none !important;
   }

   body {
      font-size:12pt;
      max-width:100%;
   }

   a, a:visited {
      text-decoration: underline;
   }

   hr {
      visibility: hidden;
      page-break-before: always;
   }

   pre, blockquote {
      padding-right: 1em;
      page-break-inside: avoid;
   }

   tr, img {
      page-break-inside: avoid;
   }

   img {
      max-width: 100% !important;
   }

   @page :left {
      margin: 15mm 20mm 15mm 10mm;
   }

   @page :right {
      margin: 15mm 10mm 15mm 20mm;
   }

   p, h2, h3 {
      orphans: 3; widows: 3;
   }

   h2, h3 {
      page-break-after: avoid;
   }
}
</style>



</head>

<body>
<h2>Benchmark for a 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>mkinmod()</code> function checks for presence of
the gcc compiler using </p>

<pre><code class="r">Sys.which(&quot;gcc&quot;)
</code></pre>

<pre><code>##            gcc 
## &quot;/usr/bin/gcc&quot;
</code></pre>

<p>First, we build a simple degradation model for a parent compound with one metabolite.</p>

<pre><code class="r">library(&quot;mkin&quot;)
</code></pre>

<pre><code>## Loading required package: minpack.lm
## Loading required package: rootSolve
## Loading required package: inline
## Loading required package: methods
## Loading required package: parallel
</code></pre>

<pre><code class="r">SFO_SFO &lt;- mkinmod(
  parent = mkinsub(&quot;SFO&quot;, &quot;m1&quot;),
  m1 = mkinsub(&quot;SFO&quot;))
</code></pre>

<pre><code>## Successfully compiled differential equation model from auto-generated C code.
</code></pre>

<p>We can compare the performance of the Eigenvalue based solution against the
compiled version and the R implementation of the differential equations using
the microbenchmark package.</p>

<pre><code class="r">library(&quot;microbenchmark&quot;)
library(&quot;ggplot2&quot;)
mb.1 &lt;- microbenchmark(
  &quot;deSolve, not compiled&quot; = mkinfit(SFO_SFO, FOCUS_2006_D, 
                                    solution_type = &quot;deSolve&quot;, 
                                    use_compiled = FALSE, quiet = TRUE),
  &quot;Eigenvalue based&quot; = mkinfit(SFO_SFO, FOCUS_2006_D, 
                               solution_type = &quot;eigen&quot;, quiet = TRUE),
  &quot;deSolve, compiled&quot; = mkinfit(SFO_SFO, FOCUS_2006_D, 
                                solution_type = &quot;deSolve&quot;, quiet = TRUE),
  times = 3, control = list(warmup = 0))
</code></pre>

<pre><code>## Warning in microbenchmark(`deSolve, not compiled` = mkinfit(SFO_SFO,
## FOCUS_2006_D, : Could not measure overhead. Your clock might lack
## precision.
</code></pre>

<pre><code class="r">smb.1 &lt;- summary(mb.1)
print(mb.1)
</code></pre>

<pre><code>## Unit: milliseconds
##                   expr       min        lq      mean    median        uq
##  deSolve, not compiled 4652.4576 4653.2263 4673.1220 4653.9950 4683.4543
##       Eigenvalue based  749.7771  750.1327  764.7881  750.4882  772.2936
##      deSolve, compiled  641.9152  647.6028  651.6533  653.2904  656.5223
##        max neval cld
##  4712.9136     3   c
##   794.0990     3  b 
##   659.7542     3 a
</code></pre>

<pre><code class="r">autoplot(mb.1)
</code></pre>

<p><img src="data:image/png;base64,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" alt="plot of chunk benchmark_SFO_SFO"/> </p>

<p>We see that using the compiled model is by a factor of 
7.1 
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>

<pre><code class="r">rownames(smb.1) &lt;- smb.1$expr
smb.1[&quot;median&quot;]/smb.1[&quot;deSolve, compiled&quot;, &quot;median&quot;]
</code></pre>

<pre><code>##                         median
## deSolve, not compiled 7.123930
## Eigenvalue based      1.148782
## deSolve, compiled     1.000000
</code></pre>

<h2>Benchmark for a model that can not be solved with Eigenvalues</h2>

<p>This evaluation is also taken from the example section of mkinfit. </p>

<pre><code class="r">FOMC_SFO &lt;- mkinmod(
  parent = mkinsub(&quot;FOMC&quot;, &quot;m1&quot;),
  m1 = mkinsub( &quot;SFO&quot;))
</code></pre>

<pre><code>## Successfully compiled differential equation model from auto-generated C code.
</code></pre>

<pre><code class="r">mb.2 &lt;- microbenchmark(
  &quot;deSolve, not compiled&quot; = mkinfit(FOMC_SFO, FOCUS_2006_D, 
                                    use_compiled = FALSE, quiet = TRUE),
  &quot;deSolve, compiled&quot; = mkinfit(FOMC_SFO, FOCUS_2006_D, quiet = TRUE),
  times = 3, control = list(warmup = 0))
</code></pre>

<pre><code>## Warning in microbenchmark(`deSolve, not compiled` = mkinfit(FOMC_SFO,
## FOCUS_2006_D, : Could not measure overhead. Your clock might lack
## precision.
</code></pre>

<pre><code class="r">smb.2 &lt;- summary(mb.2)
print(mb.2)
</code></pre>

<pre><code>## Unit: seconds
##                   expr       min        lq      mean    median        uq
##  deSolve, not compiled 10.202245 10.243829 10.260112 10.285413 10.289045
##      deSolve, compiled  1.176863  1.182699  1.188555  1.188536  1.194402
##        max neval cld
##  10.292677     3   b
##   1.200267     3  a
</code></pre>

<pre><code class="r">smb.2[&quot;median&quot;]/smb.2[&quot;deSolve, compiled&quot;, &quot;median&quot;]
</code></pre>

<pre><code>##   median
## 1     NA
## 2     NA
</code></pre>

<pre><code class="r">autoplot(mb.2)
</code></pre>

<p><img src="data:image/png;base64,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" alt="plot of chunk benchmark_FOMC_SFO"/> </p>

<p>Here we get a performance benefit of a factor of 
8.7 
using the version of the differential equation model compiled from C code using
the inline package!</p>

<p>This vignette was built with mkin 0.9.39 on</p>

<pre><code>## R Under development (unstable) (2016-03-23 r70368)
## Platform: x86_64-pc-linux-gnu (64-bit)
## Running under: Debian GNU/Linux 8 (jessie)
</code></pre>

<pre><code>## CPU model: Intel(R) Core(TM) i7-4710MQ CPU @ 2.50GHz
</code></pre>

</body>

</html>

Contact - Imprint