aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohannes Ranke <jranke@uni-bremen.de>2020-05-10 21:53:00 +0200
committerJohannes Ranke <jranke@uni-bremen.de>2020-05-10 21:53:00 +0200
commitd113cd79b178fdc91aecb894707ed356129dfb75 (patch)
treedc28e049e94eb3ee9745f9cd86387de96a894c93
parentefab37957381919c21d874906ce870f4941c760a (diff)
Default to analytical for coupled models if available
This revealed that transforming rates is necessary for fitting the analytical solution of the SFO-SFO model to the FOCUS D dataset. Benchmarks show that fitting coupled models with deSolve got a bit slower through the latest changes
-rw-r--r--R/create_deg_func.R3
-rw-r--r--R/mkinfit.R4
-rw-r--r--test.log20
-rw-r--r--tests/testthat/FOCUS_2006_D.csf2
-rw-r--r--tests/testthat/test_FOCUS_D_UBA_expertise.R21
-rw-r--r--vignettes/mkin_benchmarks.rdabin871 -> 871 bytes
-rw-r--r--vignettes/web_only/benchmarks.Rmd14
-rw-r--r--vignettes/web_only/benchmarks.html243
8 files changed, 150 insertions, 157 deletions
diff --git a/R/create_deg_func.R b/R/create_deg_func.R
index 886c5e8b..6c0ae40b 100644
--- a/R/create_deg_func.R
+++ b/R/create_deg_func.R
@@ -51,7 +51,8 @@ create_deg_func <- function(spec, use_of_ff = c("min", "max")) {
n10 <- paste0("odeini['", parent, "']")
n20 <- paste0("odeini['", n2, "']")
- if (all(use_of_ff == "max", spec[[1]]$sink == TRUE, length(obs_vars) == 2, spec[[2]]$type == "SFO")) {
+ if (all(use_of_ff == "max", spec[[1]]$sink == TRUE, length(obs_vars) == 2,
+ spec[[1]]$type == "SFO", spec[[2]]$type == "SFO")) {
supported <- TRUE
k1 <- paste0("k_", n1)
k2 <- paste0("k_", n2)
diff --git a/R/mkinfit.R b/R/mkinfit.R
index c33afbf0..e1089673 100644
--- a/R/mkinfit.R
+++ b/R/mkinfit.R
@@ -464,7 +464,7 @@ mkinfit <- function(mkinmod, observed,
if (solution_type == "eigen" && !is.matrix(mkinmod$coefmat))
stop("Eigenvalue based solution not possible, coefficient matrix not present.")
if (solution_type == "auto") {
- if (length(mkinmod$spec) == 1) {
+ if (length(mkinmod$spec) == 1 || is.function(mkinmod$deg_func)) {
solution_type = "analytical"
} else {
if (!is.null(mkinmod$cf) & use_compiled[1] != FALSE) {
@@ -694,7 +694,7 @@ mkinfit <- function(mkinmod, observed,
# Show parameter names if tracing is requested
if(trace_parms) cat(names_optim, "\n")
- # browser()
+ #browser()
# Do the fit and take the time until the hessians are calculated
fit_time <- system.time({
diff --git a/test.log b/test.log
index 7788f109..2a116058 100644
--- a/test.log
+++ b/test.log
@@ -2,33 +2,33 @@ Loading mkin
Testing mkin
✔ | OK F W S | Context
✔ | 2 | Export dataset for reading into CAKE
-✔ | 13 | Results for FOCUS D established in expertise for UBA (Ranke 2014) [3.3 s]
-✔ | 4 | Calculation of FOCUS chi2 error levels [2.0 s]
-✔ | 7 | Fitting the SFORB model [9.1 s]
-✔ | 1 | Analytical solutions for coupled models [1.1 s]
+✔ | 13 | Results for FOCUS D established in expertise for UBA (Ranke 2014) [2.5 s]
+✔ | 4 | Calculation of FOCUS chi2 error levels [0.4 s]
+✔ | 7 | Fitting the SFORB model [9.0 s]
+✔ | 1 | Analytical solutions for coupled models [0.2 s]
✔ | 5 | Calculation of Akaike weights
✔ | 10 | Confidence intervals and p-values [1.0 s]
-✔ | 14 | Error model fitting [3.7 s]
+✔ | 14 | Error model fitting [3.8 s]
✔ | 6 | Test fitting the decline of metabolites from their maximum [0.2 s]
✔ | 1 | Fitting the logistic model [0.2 s]
✔ | 1 | Test dataset class mkinds used in gmkin
✔ | 12 | Special cases of mkinfit calls [0.6 s]
✔ | 8 | mkinmod model generation and printing [0.2 s]
✔ | 3 | Model predictions with mkinpredict [0.4 s]
-✔ | 16 | Evaluations according to 2015 NAFTA guidance [1.4 s]
+✔ | 16 | Evaluations according to 2015 NAFTA guidance [1.3 s]
✔ | 9 | Nonlinear mixed-effects models [12.1 s]
✔ | 4 | Calculation of maximum time weighted average concentrations (TWAs) [2.4 s]
✔ | 3 | Summary
-✔ | 14 | Plotting [3.5 s]
+✔ | 14 | Plotting [3.6 s]
✔ | 4 | AIC calculation
✔ | 4 | Residuals extracted from mkinfit models
✔ | 2 | Complex test case from Schaefer et al. (2007) Piacenza paper [4.2 s]
✔ | 1 | Summaries of old mkinfit objects
-✔ | 4 | Results for synthetic data established in expertise for UBA (Ranke 2014) [6.4 s]
-✔ | 9 | Hypothesis tests [17.8 s]
+✔ | 4 | Results for synthetic data established in expertise for UBA (Ranke 2014) [6.3 s]
+✔ | 9 | Hypothesis tests [17.7 s]
══ Results ═════════════════════════════════════════════════════════════════════
-Duration: 69.9 s
+Duration: 66.3 s
OK: 157
Failed: 0
diff --git a/tests/testthat/FOCUS_2006_D.csf b/tests/testthat/FOCUS_2006_D.csf
index f113a668..d41f0a9f 100644
--- a/tests/testthat/FOCUS_2006_D.csf
+++ b/tests/testthat/FOCUS_2006_D.csf
@@ -5,7 +5,7 @@ Description:
MeasurementUnits: % AR
TimeUnits: days
Comments: Created using mkin::CAKE_export
-Date: 2020-05-09
+Date: 2020-05-10
Optimiser: IRLS
[Data]
diff --git a/tests/testthat/test_FOCUS_D_UBA_expertise.R b/tests/testthat/test_FOCUS_D_UBA_expertise.R
index f3b12bd9..be2806de 100644
--- a/tests/testthat/test_FOCUS_D_UBA_expertise.R
+++ b/tests/testthat/test_FOCUS_D_UBA_expertise.R
@@ -2,19 +2,22 @@ context("Results for FOCUS D established in expertise for UBA (Ranke 2014)")
# Results are from p. 40
+# Avoid warnings due to the zero value in the data for m1 at time zero
+FOCUS_D <- subset(FOCUS_2006_D, value != 0)
+
test_that("Fits without formation fractions are correct for FOCUS D", {
- fit.default <- expect_warning(mkinfit(SFO_SFO, FOCUS_2006_D, quiet = TRUE), "value of zero")
+ fit.noff <- mkinfit(SFO_SFO, FOCUS_D, quiet = TRUE)
- expect_equal(round(as.numeric(endpoints(fit.default)$distimes["parent", ]), 2),
+ expect_equal(round(as.numeric(endpoints(fit.noff)$distimes["parent", ]), 2),
c(7.02, 23.33))
- expect_equal(round(as.numeric(endpoints(fit.default)$distimes["m1", ]), 1),
+ expect_equal(round(as.numeric(endpoints(fit.noff)$distimes["m1", ]), 1),
c(131.8, 437.7))
})
test_that("Fits with formation fractions are correct for FOCUS D", {
skip_on_cran()
- fit.ff <- expect_warning(mkinfit(SFO_SFO.ff, FOCUS_2006_D, quiet = TRUE), "value of zero")
+ fit.ff <- mkinfit(SFO_SFO.ff, FOCUS_D, quiet = TRUE)
expect_equivalent(round(fit.ff$bparms.optim, c(2, 4, 4, 4)),
c(99.60, 0.0987, 0.0053, 0.5145))
@@ -30,8 +33,15 @@ test_that("Fits with formation fractions are correct for FOCUS D", {
test_that("Fits without internal transformations are correct for FOCUS D", {
skip_on_cran()
expect_warning(
+ # Analytical solutions (now the default for SFO_SFO with formation fractions)
+ # return NA at some point not internally transforming rates
+ expect_error(fit.ff.notrans <- mkinfit(SFO_SFO.ff, FOCUS_D,
+ transform_fractions = FALSE, transform_rates = FALSE, quiet = TRUE)))
+
+ expect_warning(
fit.ff.notrans <- mkinfit(SFO_SFO.ff, FOCUS_2006_D,
- transform_fractions = FALSE, transform_rates = FALSE, quiet = TRUE),
+ transform_fractions = FALSE, transform_rates = FALSE,
+ quiet = TRUE, solution_type = "deSolve"),
"sum of formation fractions")
expect_equivalent(round(fit.ff.notrans$bparms.optim, c(2, 4, 4, 4)),
@@ -40,7 +50,6 @@ test_that("Fits without internal transformations are correct for FOCUS D", {
expect_equivalent(round(100 * mkinerrmin(fit.ff.notrans)$err.min, 2),
c(6.40, 6.46, 4.69))
-
expect_equal(round(as.numeric(endpoints(fit.ff.notrans)$distimes["parent", ]), 2),
c(7.02, 23.33))
expect_equal(round(as.numeric(endpoints(fit.ff.notrans)$distimes["m1", ]), 1),
diff --git a/vignettes/mkin_benchmarks.rda b/vignettes/mkin_benchmarks.rda
index 1190d924..32223710 100644
--- a/vignettes/mkin_benchmarks.rda
+++ b/vignettes/mkin_benchmarks.rda
Binary files differ
diff --git a/vignettes/web_only/benchmarks.Rmd b/vignettes/web_only/benchmarks.Rmd
index 4849635f..cc28735a 100644
--- a/vignettes/web_only/benchmarks.Rmd
+++ b/vignettes/web_only/benchmarks.Rmd
@@ -40,9 +40,11 @@ if (mkin_version > "0.9.48.1") {
```
```{r timings}
+FOCUS_C <- FOCUS_2006_C
+FOCUS_D <- subset(FOCUS_2006_D, value != 0)
# Parent only
-t1 <- system.time(mmkin_bench(c("SFO", "FOMC", "DFOP", "HS"), list(FOCUS_2006_C, FOCUS_2006_D)))[["elapsed"]]
-t2 <- system.time(mmkin_bench(c("SFO", "FOMC", "DFOP", "HS"), list(FOCUS_2006_C, FOCUS_2006_D), error_model = "tc"))[["elapsed"]]
+t1 <- system.time(mmkin_bench(c("SFO", "FOMC", "DFOP", "HS"), list(FOCUS_C, FOCUS_D)))[["elapsed"]]
+t2 <- system.time(mmkin_bench(c("SFO", "FOMC", "DFOP", "HS"), list(FOCUS_C, FOCUS_D), error_model = "tc"))[["elapsed"]]
# One metabolite
SFO_SFO <- mkinmod(
@@ -54,9 +56,9 @@ FOMC_SFO <- mkinmod(
DFOP_SFO <- mkinmod(
parent = mkinsub("FOMC", "m1"),
m1 = mkinsub("SFO"))
-t3 <- system.time(mmkin_bench(list(SFO_SFO, FOMC_SFO, DFOP_SFO), list(FOCUS_2006_D)))[["elapsed"]]
-t4 <- system.time(mmkin_bench(list(SFO_SFO, FOMC_SFO, DFOP_SFO), list(subset(FOCUS_2006_D, value != 0)), error_model = "tc"))[["elapsed"]]
-t5 <- system.time(mmkin_bench(list(SFO_SFO, FOMC_SFO, DFOP_SFO), list(FOCUS_2006_D), error_model = "obs"))[["elapsed"]]
+t3 <- system.time(mmkin_bench(list(SFO_SFO, FOMC_SFO, DFOP_SFO), list(FOCUS_D)))[["elapsed"]]
+t4 <- system.time(mmkin_bench(list(SFO_SFO, FOMC_SFO, DFOP_SFO), list(FOCUS_D), error_model = "tc"))[["elapsed"]]
+t5 <- system.time(mmkin_bench(list(SFO_SFO, FOMC_SFO, DFOP_SFO), list(FOCUS_D), error_model = "obs"))[["elapsed"]]
# Two metabolites, synthetic data
m_synth_SFO_lin <- mkinmod(parent = mkinsub("SFO", "M1"),
@@ -83,7 +85,7 @@ t10 <- system.time(mmkin_bench(list(m_synth_SFO_lin), list(SFO_lin_a), error_mod
t11 <- system.time(mmkin_bench(list(m_synth_DFOP_par), list(DFOP_par_c), error_model = "obs"))["elapsed"]
mkin_benchmarks[system_string, paste0("t", 1:11)] <- c(t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11)
-mkin_benchmarks
+mkin_benchmarks[, -c(1:3)]
save(mkin_benchmarks, file = "~/git/mkin/vignettes/mkin_benchmarks.rda")
diff --git a/vignettes/web_only/benchmarks.html b/vignettes/web_only/benchmarks.html
index 054b4afc..c80a7e44 100644
--- a/vignettes/web_only/benchmarks.html
+++ b/vignettes/web_only/benchmarks.html
@@ -1,17 +1,17 @@
<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
<meta charset="utf-8" />
-<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="generator" content="pandoc" />
+<meta http-equiv="X-UA-Compatible" content="IE=EDGE" />
<meta name="author" content="Johannes Ranke" />
-<meta name="date" content="2019-05-02" />
+<meta name="date" content="2020-05-10" />
<title>Benchmark timings for mkin on various systems</title>
@@ -69,8 +69,6 @@ overflow: auto;
margin-left: 2%;
position: fixed;
border: 1px solid #ccc;
-webkit-border-radius: 6px;
-moz-border-radius: 6px;
border-radius: 6px;
}
@@ -98,10 +96,15 @@ font-size: 12px;
.tocify-subheader .tocify-subheader {
text-indent: 30px;
}
-
.tocify-subheader .tocify-subheader .tocify-subheader {
text-indent: 40px;
}
+.tocify-subheader .tocify-subheader .tocify-subheader .tocify-subheader {
+text-indent: 50px;
+}
+.tocify-subheader .tocify-subheader .tocify-subheader .tocify-subheader .tocify-subheader {
+text-indent: 60px;
+}
.tocify .tocify-item > a, .tocify .nav-list .nav-header {
margin: 0px;
@@ -504,13 +507,13 @@ float: none;
item.append($("<a/>", {
- "text": self.text()
+ "html": self.html()
}));
} else {
- item.text(self.text());
+ item.html(self.html());
}
@@ -1285,7 +1288,7 @@ window.initializeCodeFolding = function(show) {
// create a collapsable div to wrap the code in
var div = $('<div class="collapse r-code-collapse"></div>');
- if (show)
+ if (show || $(this)[0].classList.contains('fold-show'))
div.addClass('in');
var id = 'rcode-643E0F36' + currentIndex++;
div.attr('id', id);
@@ -1401,7 +1404,6 @@ code {
}
img {
max-width:100%;
- height: auto;
}
.tabbed-pane {
padding-top: 12px;
@@ -1463,6 +1465,7 @@ summary {
border: none;
display: inline-block;
border-radius: 4px;
+ background-color: transparent;
}
.tabset-dropdown > .nav-tabs.nav-tabs-open > li {
@@ -1475,56 +1478,12 @@ summary {
}
</style>
-<script>
-$(document).ready(function () {
- window.buildTabsets("TOC");
-});
-
-$(document).ready(function () {
- $('.tabset-dropdown > .nav-tabs > li').click(function () {
- $(this).parent().toggleClass('nav-tabs-open')
- });
-});
-</script>
-
<!-- code folding -->
<style type="text/css">
.code-folding-btn { margin-bottom: 4px; }
</style>
-<script>
-$(document).ready(function () {
- window.initializeCodeFolding("show" === "show");
-});
-</script>
-
-
-
-<script>
-$(document).ready(function () {
- // move toc-ignore selectors from section div to header
- $('div.section.toc-ignore')
- .removeClass('toc-ignore')
- .children('h1,h2,h3,h4,h5').addClass('toc-ignore');
- // establish options
- var options = {
- selectors: "h1,h2,h3",
- theme: "bootstrap3",
- context: '.toc-content',
- hashGenerator: function (text) {
- return text.replace(/[.\\/?&!#<>]/g, '').replace(/\s/g, '_').toLowerCase();
- },
- ignoreSelector: ".toc-ignore",
- scrollTo: 0
- };
- options.showAndHide = true;
- options.smoothScroll = true;
-
- // tocify
- var toc = $("#TOC").tocify(options).data("toc-tocify");
-});
-</script>
<style type="text/css">
@@ -1538,6 +1497,12 @@ $(document).ready(function () {
}
}
+@media print {
+.toc-content {
+ /* see https://github.com/w3c/csswg-drafts/issues/4434 */
+ float: right;
+}
+}
.toc-content {
padding-left: 30px;
@@ -1573,8 +1538,6 @@ div.tocify {
.tocify-subheader .tocify-item {
font-size: 0.90em;
- padding-left: 25px;
- text-indent: 0;
}
.tocify .list-group-item {
@@ -1620,7 +1583,7 @@ div.tocify {
<h1 class="title toc-ignore">Benchmark timings for mkin on various systems</h1>
<h4 class="author">Johannes Ranke</h4>
-<h4 class="date">2019-05-02</h4>
+<h4 class="date">2020-05-10</h4>
</div>
@@ -1640,11 +1603,16 @@ if (mkin_version &gt; &quot;0.9.48.1&quot;) {
} else {
mmkin_bench &lt;- function(models, datasets, error_model = NULL) mmkin(models, datasets, reweight.method = error_model, cores = 1, quiet = TRUE)
}</code></pre>
-<pre class="r"><code># Parent only
-t1 &lt;- system.time(mmkin_bench(c(&quot;SFO&quot;, &quot;FOMC&quot;, &quot;DFOP&quot;, &quot;HS&quot;), list(FOCUS_2006_C, FOCUS_2006_D)))[[&quot;elapsed&quot;]]
-t2 &lt;- system.time(mmkin_bench(c(&quot;SFO&quot;, &quot;FOMC&quot;, &quot;DFOP&quot;, &quot;HS&quot;), list(FOCUS_2006_C, FOCUS_2006_D), error_model = &quot;tc&quot;))[[&quot;elapsed&quot;]]</code></pre>
+<pre class="r"><code>FOCUS_C &lt;- FOCUS_2006_C
+FOCUS_D &lt;- subset(FOCUS_2006_D, value != 0)
+# Parent only
+t1 &lt;- system.time(mmkin_bench(c(&quot;SFO&quot;, &quot;FOMC&quot;, &quot;DFOP&quot;, &quot;HS&quot;), list(FOCUS_C, FOCUS_D)))[[&quot;elapsed&quot;]]
+t2 &lt;- system.time(mmkin_bench(c(&quot;SFO&quot;, &quot;FOMC&quot;, &quot;DFOP&quot;, &quot;HS&quot;), list(FOCUS_C, FOCUS_D), error_model = &quot;tc&quot;))[[&quot;elapsed&quot;]]</code></pre>
<pre><code>## Warning in mkinfit(models[[model_index]], datasets[[dataset_index]], ...): Optimisation did not converge:
-## false convergence (8)</code></pre>
+## iteration limit reached without convergence (10)
+
+## Warning in mkinfit(models[[model_index]], datasets[[dataset_index]], ...): Optimisation did not converge:
+## iteration limit reached without convergence (10)</code></pre>
<pre class="r"><code># One metabolite
SFO_SFO &lt;- mkinmod(
parent = mkinsub(&quot;SFO&quot;, &quot;m1&quot;),
@@ -1658,25 +1626,11 @@ SFO_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 class="r"><code>t3 &lt;- system.time(mmkin_bench(list(SFO_SFO, FOMC_SFO, DFOP_SFO), list(FOCUS_2006_D)))[[&quot;elapsed&quot;]]</code></pre>
-<pre><code>## Warning in mkinfit(models[[model_index]], datasets[[dataset_index]], ...):
-## Observations with value of zero were removed from the data</code></pre>
-<pre><code>## Warning in mkinfit(models[[model_index]], datasets[[dataset_index]], ...):
-## Observations with value of zero were removed from the data
-
-## Warning in mkinfit(models[[model_index]], datasets[[dataset_index]], ...):
-## Observations with value of zero were removed from the data</code></pre>
-<pre class="r"><code>t4 &lt;- system.time(mmkin_bench(list(SFO_SFO, FOMC_SFO, DFOP_SFO), list(subset(FOCUS_2006_D, value != 0)), error_model = &quot;tc&quot;))[[&quot;elapsed&quot;]]
-t5 &lt;- system.time(mmkin_bench(list(SFO_SFO, FOMC_SFO, DFOP_SFO), list(FOCUS_2006_D), error_model = &quot;obs&quot;))[[&quot;elapsed&quot;]]</code></pre>
-<pre><code>## Warning in mkinfit(models[[model_index]], datasets[[dataset_index]], ...):
-## Observations with value of zero were removed from the data
-
-## Warning in mkinfit(models[[model_index]], datasets[[dataset_index]], ...):
-## Observations with value of zero were removed from the data
-
-## Warning in mkinfit(models[[model_index]], datasets[[dataset_index]], ...):
-## Observations with value of zero were removed from the data</code></pre>
-<pre class="r"><code># Two metabolites, synthetic data
+<pre class="r"><code>t3 &lt;- system.time(mmkin_bench(list(SFO_SFO, FOMC_SFO, DFOP_SFO), list(FOCUS_D)))[[&quot;elapsed&quot;]]
+t4 &lt;- system.time(mmkin_bench(list(SFO_SFO, FOMC_SFO, DFOP_SFO), list(FOCUS_D), error_model = &quot;tc&quot;))[[&quot;elapsed&quot;]]
+t5 &lt;- system.time(mmkin_bench(list(SFO_SFO, FOMC_SFO, DFOP_SFO), list(FOCUS_D), error_model = &quot;obs&quot;))[[&quot;elapsed&quot;]]
+
+# Two metabolites, synthetic data
m_synth_SFO_lin &lt;- mkinmod(parent = mkinsub(&quot;SFO&quot;, &quot;M1&quot;),
M1 = mkinsub(&quot;SFO&quot;, &quot;M2&quot;),
M2 = mkinsub(&quot;SFO&quot;),
@@ -1701,91 +1655,70 @@ t10 &lt;- system.time(mmkin_bench(list(m_synth_SFO_lin), list(SFO_lin_a), error_
t11 &lt;- system.time(mmkin_bench(list(m_synth_DFOP_par), list(DFOP_par_c), error_model = &quot;obs&quot;))[&quot;elapsed&quot;]
mkin_benchmarks[system_string, paste0(&quot;t&quot;, 1:11)] &lt;- c(t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11)
-mkin_benchmarks</code></pre>
-<pre><code>## CPU
-## Linux, AMD Ryzen 7 1700 Eight-Core Processor, mkin version 0.9.48.1 AMD Ryzen 7 1700 Eight-Core Processor
-## Linux, AMD Ryzen 7 1700 Eight-Core Processor, mkin version 0.9.49.1 AMD Ryzen 7 1700 Eight-Core Processor
-## Linux, AMD Ryzen 7 1700 Eight-Core Processor, mkin version 0.9.49.2 AMD Ryzen 7 1700 Eight-Core Processor
-## Linux, AMD Ryzen 7 1700 Eight-Core Processor, mkin version 0.9.49.3 AMD Ryzen 7 1700 Eight-Core Processor
-## Linux, AMD Ryzen 7 1700 Eight-Core Processor, mkin version 0.9.49.4 AMD Ryzen 7 1700 Eight-Core Processor
-## OS
-## Linux, AMD Ryzen 7 1700 Eight-Core Processor, mkin version 0.9.48.1 Linux
-## Linux, AMD Ryzen 7 1700 Eight-Core Processor, mkin version 0.9.49.1 Linux
-## Linux, AMD Ryzen 7 1700 Eight-Core Processor, mkin version 0.9.49.2 Linux
-## Linux, AMD Ryzen 7 1700 Eight-Core Processor, mkin version 0.9.49.3 Linux
-## Linux, AMD Ryzen 7 1700 Eight-Core Processor, mkin version 0.9.49.4 Linux
-## mkin
-## Linux, AMD Ryzen 7 1700 Eight-Core Processor, mkin version 0.9.48.1 0.9.48.1
-## Linux, AMD Ryzen 7 1700 Eight-Core Processor, mkin version 0.9.49.1 0.9.49.1
-## Linux, AMD Ryzen 7 1700 Eight-Core Processor, mkin version 0.9.49.2 0.9.49.2
-## Linux, AMD Ryzen 7 1700 Eight-Core Processor, mkin version 0.9.49.3 0.9.49.3
-## Linux, AMD Ryzen 7 1700 Eight-Core Processor, mkin version 0.9.49.4 0.9.49.4
-## t1
+mkin_benchmarks[, -c(1:3)]</code></pre>
+<pre><code>## t1
## Linux, AMD Ryzen 7 1700 Eight-Core Processor, mkin version 0.9.48.1 3.610
## Linux, AMD Ryzen 7 1700 Eight-Core Processor, mkin version 0.9.49.1 8.184
## Linux, AMD Ryzen 7 1700 Eight-Core Processor, mkin version 0.9.49.2 7.064
## Linux, AMD Ryzen 7 1700 Eight-Core Processor, mkin version 0.9.49.3 7.296
-## Linux, AMD Ryzen 7 1700 Eight-Core Processor, mkin version 0.9.49.4 6.023
+## Linux, AMD Ryzen 7 1700 Eight-Core Processor, mkin version 0.9.49.4 5.936
+## Linux, AMD Ryzen 7 1700 Eight-Core Processor, mkin version 0.9.50 1.658
## t2
## Linux, AMD Ryzen 7 1700 Eight-Core Processor, mkin version 0.9.48.1 11.019
## Linux, AMD Ryzen 7 1700 Eight-Core Processor, mkin version 0.9.49.1 22.889
## Linux, AMD Ryzen 7 1700 Eight-Core Processor, mkin version 0.9.49.2 12.558
## Linux, AMD Ryzen 7 1700 Eight-Core Processor, mkin version 0.9.49.3 21.239
-## Linux, AMD Ryzen 7 1700 Eight-Core Processor, mkin version 0.9.49.4 20.409
+## Linux, AMD Ryzen 7 1700 Eight-Core Processor, mkin version 0.9.49.4 20.545
+## Linux, AMD Ryzen 7 1700 Eight-Core Processor, mkin version 0.9.50 3.820
## t3
## Linux, AMD Ryzen 7 1700 Eight-Core Processor, mkin version 0.9.48.1 3.764
## Linux, AMD Ryzen 7 1700 Eight-Core Processor, mkin version 0.9.49.1 4.649
## Linux, AMD Ryzen 7 1700 Eight-Core Processor, mkin version 0.9.49.2 4.786
## Linux, AMD Ryzen 7 1700 Eight-Core Processor, mkin version 0.9.49.3 4.510
-## Linux, AMD Ryzen 7 1700 Eight-Core Processor, mkin version 0.9.49.4 4.283
+## Linux, AMD Ryzen 7 1700 Eight-Core Processor, mkin version 0.9.49.4 4.446
+## Linux, AMD Ryzen 7 1700 Eight-Core Processor, mkin version 0.9.50 3.424
## t4
## Linux, AMD Ryzen 7 1700 Eight-Core Processor, mkin version 0.9.48.1 14.347
## Linux, AMD Ryzen 7 1700 Eight-Core Processor, mkin version 0.9.49.1 13.789
## Linux, AMD Ryzen 7 1700 Eight-Core Processor, mkin version 0.9.49.2 8.461
## Linux, AMD Ryzen 7 1700 Eight-Core Processor, mkin version 0.9.49.3 13.805
-## Linux, AMD Ryzen 7 1700 Eight-Core Processor, mkin version 0.9.49.4 14.531
-## t5
-## Linux, AMD Ryzen 7 1700 Eight-Core Processor, mkin version 0.9.48.1 9.495
-## Linux, AMD Ryzen 7 1700 Eight-Core Processor, mkin version 0.9.49.1 6.395
-## Linux, AMD Ryzen 7 1700 Eight-Core Processor, mkin version 0.9.49.2 5.675
-## Linux, AMD Ryzen 7 1700 Eight-Core Processor, mkin version 0.9.49.3 7.386
-## Linux, AMD Ryzen 7 1700 Eight-Core Processor, mkin version 0.9.49.4 5.744
-## t6
-## Linux, AMD Ryzen 7 1700 Eight-Core Processor, mkin version 0.9.48.1 2.623
-## Linux, AMD Ryzen 7 1700 Eight-Core Processor, mkin version 0.9.49.1 2.542
-## Linux, AMD Ryzen 7 1700 Eight-Core Processor, mkin version 0.9.49.2 2.723
-## Linux, AMD Ryzen 7 1700 Eight-Core Processor, mkin version 0.9.49.3 2.643
-## Linux, AMD Ryzen 7 1700 Eight-Core Processor, mkin version 0.9.49.4 2.518
-## t7
-## Linux, AMD Ryzen 7 1700 Eight-Core Processor, mkin version 0.9.48.1 4.587
-## Linux, AMD Ryzen 7 1700 Eight-Core Processor, mkin version 0.9.49.1 4.128
-## Linux, AMD Ryzen 7 1700 Eight-Core Processor, mkin version 0.9.49.2 4.478
-## Linux, AMD Ryzen 7 1700 Eight-Core Processor, mkin version 0.9.49.3 4.374
-## Linux, AMD Ryzen 7 1700 Eight-Core Processor, mkin version 0.9.49.4 4.211
-## t8
-## Linux, AMD Ryzen 7 1700 Eight-Core Processor, mkin version 0.9.48.1 7.525
-## Linux, AMD Ryzen 7 1700 Eight-Core Processor, mkin version 0.9.49.1 4.632
-## Linux, AMD Ryzen 7 1700 Eight-Core Processor, mkin version 0.9.49.2 4.862
-## Linux, AMD Ryzen 7 1700 Eight-Core Processor, mkin version 0.9.49.3 7.02
-## Linux, AMD Ryzen 7 1700 Eight-Core Processor, mkin version 0.9.49.4 4.557
+## Linux, AMD Ryzen 7 1700 Eight-Core Processor, mkin version 0.9.49.4 15.335
+## Linux, AMD Ryzen 7 1700 Eight-Core Processor, mkin version 0.9.50 18.375
+## t5 t6
+## Linux, AMD Ryzen 7 1700 Eight-Core Processor, mkin version 0.9.48.1 9.495 2.623
+## Linux, AMD Ryzen 7 1700 Eight-Core Processor, mkin version 0.9.49.1 6.395 2.542
+## Linux, AMD Ryzen 7 1700 Eight-Core Processor, mkin version 0.9.49.2 5.675 2.723
+## Linux, AMD Ryzen 7 1700 Eight-Core Processor, mkin version 0.9.49.3 7.386 2.643
+## Linux, AMD Ryzen 7 1700 Eight-Core Processor, mkin version 0.9.49.4 6.002 2.635
+## Linux, AMD Ryzen 7 1700 Eight-Core Processor, mkin version 0.9.50 7.480 2.188
+## t7 t8
+## Linux, AMD Ryzen 7 1700 Eight-Core Processor, mkin version 0.9.48.1 4.587 7.525
+## Linux, AMD Ryzen 7 1700 Eight-Core Processor, mkin version 0.9.49.1 4.128 4.632
+## Linux, AMD Ryzen 7 1700 Eight-Core Processor, mkin version 0.9.49.2 4.478 4.862
+## Linux, AMD Ryzen 7 1700 Eight-Core Processor, mkin version 0.9.49.3 4.374 7.02
+## Linux, AMD Ryzen 7 1700 Eight-Core Processor, mkin version 0.9.49.4 4.259 4.737
+## Linux, AMD Ryzen 7 1700 Eight-Core Processor, mkin version 0.9.50 3.69 3.87
## t9
## Linux, AMD Ryzen 7 1700 Eight-Core Processor, mkin version 0.9.48.1 16.621
## Linux, AMD Ryzen 7 1700 Eight-Core Processor, mkin version 0.9.49.1 8.171
## Linux, AMD Ryzen 7 1700 Eight-Core Processor, mkin version 0.9.49.2 7.618
## Linux, AMD Ryzen 7 1700 Eight-Core Processor, mkin version 0.9.49.3 11.124
-## Linux, AMD Ryzen 7 1700 Eight-Core Processor, mkin version 0.9.49.4 7.739
+## Linux, AMD Ryzen 7 1700 Eight-Core Processor, mkin version 0.9.49.4 7.763
+## Linux, AMD Ryzen 7 1700 Eight-Core Processor, mkin version 0.9.50 8.872
## t10
## Linux, AMD Ryzen 7 1700 Eight-Core Processor, mkin version 0.9.48.1 8.576
## Linux, AMD Ryzen 7 1700 Eight-Core Processor, mkin version 0.9.49.1 3.676
## Linux, AMD Ryzen 7 1700 Eight-Core Processor, mkin version 0.9.49.2 3.579
## Linux, AMD Ryzen 7 1700 Eight-Core Processor, mkin version 0.9.49.3 5.388
-## Linux, AMD Ryzen 7 1700 Eight-Core Processor, mkin version 0.9.49.4 3.413
+## Linux, AMD Ryzen 7 1700 Eight-Core Processor, mkin version 0.9.49.4 3.427
+## Linux, AMD Ryzen 7 1700 Eight-Core Processor, mkin version 0.9.50 6.257
## t11
## Linux, AMD Ryzen 7 1700 Eight-Core Processor, mkin version 0.9.48.1 31.267
## Linux, AMD Ryzen 7 1700 Eight-Core Processor, mkin version 0.9.49.1 5.636
## Linux, AMD Ryzen 7 1700 Eight-Core Processor, mkin version 0.9.49.2 5.574
## Linux, AMD Ryzen 7 1700 Eight-Core Processor, mkin version 0.9.49.3 7.365
-## Linux, AMD Ryzen 7 1700 Eight-Core Processor, mkin version 0.9.49.4 5.588</code></pre>
+## Linux, AMD Ryzen 7 1700 Eight-Core Processor, mkin version 0.9.49.4 5.626
+## Linux, AMD Ryzen 7 1700 Eight-Core Processor, mkin version 0.9.50 9.289</code></pre>
<pre class="r"><code>save(mkin_benchmarks, file = &quot;~/git/mkin/vignettes/mkin_benchmarks.rda&quot;)</code></pre>
</div>
@@ -1809,6 +1742,54 @@ $(document).ready(function () {
</script>
+<!-- tabsets -->
+
+<script>
+$(document).ready(function () {
+ window.buildTabsets("TOC");
+});
+
+$(document).ready(function () {
+ $('.tabset-dropdown > .nav-tabs > li').click(function () {
+ $(this).parent().toggleClass('nav-tabs-open')
+ });
+});
+</script>
+
+<!-- code folding -->
+<script>
+$(document).ready(function () {
+ window.initializeCodeFolding("show" === "show");
+});
+</script>
+
+<script>
+$(document).ready(function () {
+
+ // move toc-ignore selectors from section div to header
+ $('div.section.toc-ignore')
+ .removeClass('toc-ignore')
+ .children('h1,h2,h3,h4,h5').addClass('toc-ignore');
+
+ // establish options
+ var options = {
+ selectors: "h1,h2,h3",
+ theme: "bootstrap3",
+ context: '.toc-content',
+ hashGenerator: function (text) {
+ return text.replace(/[.\\/?&!#<>]/g, '').replace(/\s/g, '_').toLowerCase();
+ },
+ ignoreSelector: ".toc-ignore",
+ scrollTo: 0
+ };
+ options.showAndHide = true;
+ options.smoothScroll = true;
+
+ // tocify
+ var toc = $("#TOC").tocify(options).data("toc-tocify");
+});
+</script>
+
<!-- dynamically load mathjax for compatibility with self-contained -->
<script>
(function () {

Contact - Imprint