aboutsummaryrefslogtreecommitdiff
path: root/docs/articles/web_only/saem_benchmarks.html
diff options
context:
space:
mode:
Diffstat (limited to 'docs/articles/web_only/saem_benchmarks.html')
-rw-r--r--docs/articles/web_only/saem_benchmarks.html356
1 files changed, 218 insertions, 138 deletions
diff --git a/docs/articles/web_only/saem_benchmarks.html b/docs/articles/web_only/saem_benchmarks.html
index a9637876..3116d0e6 100644
--- a/docs/articles/web_only/saem_benchmarks.html
+++ b/docs/articles/web_only/saem_benchmarks.html
@@ -4,141 +4,90 @@
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
-<meta name="viewport" content="width=device-width, initial-scale=1.0">
+<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<title>Benchmark timings for saem.mmkin • mkin</title>
-<!-- jquery --><script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.4.1/jquery.min.js" integrity="sha256-CSXorXvZcTkaix6Yvo6HppcZGetbYMGWSFlBw8HfCJo=" crossorigin="anonymous"></script><!-- Bootstrap --><link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.4.1/css/bootstrap.min.css" integrity="sha256-bZLfwXAP04zRMK2BjiO8iu9pf4FbLqX6zitd+tIvLhE=" crossorigin="anonymous">
-<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.4.1/js/bootstrap.min.js" integrity="sha256-nuL8/2cJ5NDSSwnKD8VqreErSWHtnEP9E7AySL+1ev4=" crossorigin="anonymous"></script><!-- bootstrap-toc --><link rel="stylesheet" href="../../bootstrap-toc.css">
-<script src="../../bootstrap-toc.js"></script><!-- Font Awesome icons --><link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.12.1/css/all.min.css" integrity="sha256-mmgLkCYLUQbXn0B1SRqzHar6dCnv9oZFPEC1g1cwlkk=" crossorigin="anonymous">
-<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.12.1/css/v4-shims.min.css" integrity="sha256-wZjR52fzng1pJHwx4aV2AO3yyTOXrcDW7jBpJtTwVxw=" crossorigin="anonymous">
-<!-- clipboard.js --><script src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.6/clipboard.min.js" integrity="sha256-inc5kl9MA1hkeYUt+EC3BhlIgyp/2jDIyBLS6k3UxPI=" crossorigin="anonymous"></script><!-- headroom.js --><script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.11.0/headroom.min.js" integrity="sha256-AsUX4SJE1+yuDu5+mAVzJbuYNPHj/WroHuZ8Ir/CkE0=" crossorigin="anonymous"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.11.0/jQuery.headroom.min.js" integrity="sha256-ZX/yNShbjqsohH1k95liqY9Gd8uOiE1S4vZc+9KQ1K4=" crossorigin="anonymous"></script><!-- pkgdown --><link href="../../pkgdown.css" rel="stylesheet">
-<script src="../../pkgdown.js"></script><meta property="og:title" content="Benchmark timings for saem.mmkin">
-<meta property="og:description" content="mkin">
-<!-- mathjax --><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js" integrity="sha256-nvJJv9wWKEm88qvoQl9ekL2J+k/RWIsaSScxxlsrv8k=" crossorigin="anonymous"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/config/TeX-AMS-MML_HTMLorMML.js" integrity="sha256-84DKXVJXs0/F8OTMzX4UR909+jtl4G7SPypPavF+GfA=" crossorigin="anonymous"></script><!--[if lt IE 9]>
-<script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script>
-<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
-<![endif]-->
+<script src="../../deps/jquery-3.6.0/jquery-3.6.0.min.js"></script><meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
+<link href="../../deps/bootstrap-5.3.1/bootstrap.min.css" rel="stylesheet">
+<script src="../../deps/bootstrap-5.3.1/bootstrap.bundle.min.js"></script><link href="../../deps/font-awesome-6.5.2/css/all.min.css" rel="stylesheet">
+<link href="../../deps/font-awesome-6.5.2/css/v4-shims.min.css" rel="stylesheet">
+<script src="../../deps/headroom-0.11.0/headroom.min.js"></script><script src="../../deps/headroom-0.11.0/jQuery.headroom.min.js"></script><script src="../../deps/bootstrap-toc-1.0.1/bootstrap-toc.min.js"></script><script src="../../deps/clipboard.js-2.0.11/clipboard.min.js"></script><script src="../../deps/search-1.0.0/autocomplete.jquery.min.js"></script><script src="../../deps/search-1.0.0/fuse.min.js"></script><script src="../../deps/search-1.0.0/mark.min.js"></script><!-- pkgdown --><script src="../../pkgdown.js"></script><meta property="og:title" content="Benchmark timings for saem.mmkin">
</head>
-<body data-spy="scroll" data-target="#toc">
-
+<body>
+ <a href="#main" class="visually-hidden-focusable">Skip to contents</a>
- <div class="container template-article">
- <header><div class="navbar navbar-default navbar-fixed-top" role="navigation">
- <div class="container">
- <div class="navbar-header">
- <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false">
- <span class="sr-only">Toggle navigation</span>
- <span class="icon-bar"></span>
- <span class="icon-bar"></span>
- <span class="icon-bar"></span>
- </button>
- <span class="navbar-brand">
- <a class="navbar-link" href="../../index.html">mkin</a>
- <span class="version label label-default" data-toggle="tooltip" data-placement="bottom" title="Released version">1.2.4</span>
- </span>
- </div>
- <div id="navbar" class="navbar-collapse collapse">
- <ul class="nav navbar-nav">
-<li>
- <a href="../../reference/index.html">Reference</a>
-</li>
-<li class="dropdown">
- <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" data-bs-toggle="dropdown" aria-expanded="false">
- Articles
-
- <span class="caret"></span>
- </a>
- <ul class="dropdown-menu" role="menu">
-<li>
- <a href="../../articles/mkin.html">Introduction to mkin</a>
- </li>
- <li class="divider">
- </li>
-<li class="dropdown-header">Example evaluations with (generalised) nonlinear least squares</li>
- <li>
- <a href="../../articles/FOCUS_D.html">Example evaluation of FOCUS Example Dataset D</a>
- </li>
- <li>
- <a href="../../articles/FOCUS_L.html">Example evaluation of FOCUS Laboratory Data L1 to L3</a>
- </li>
- <li>
- <a href="../../articles/web_only/FOCUS_Z.html">Example evaluation of FOCUS Example Dataset Z</a>
- </li>
- <li class="divider">
- </li>
-<li class="dropdown-header">Example evaluations with hierarchical models (nonlinear mixed-effects models)</li>
- <li>
- <a href="../../articles/prebuilt/2022_dmta_parent.html">Testing hierarchical parent degradation kinetics with residue data on dimethenamid and dimethenamid-P</a>
- </li>
- <li>
- <a href="../../articles/prebuilt/2022_dmta_pathway.html">Testing hierarchical pathway kinetics with residue data on dimethenamid and dimethenamid-P</a>
- </li>
- <li>
- <a href="../../articles/prebuilt/2022_cyan_pathway.html">Testing hierarchical pathway kinetics with residue data on cyantraniliprole</a>
- </li>
- <li>
- <a href="../../articles/web_only/dimethenamid_2018.html">Comparison of saemix and nlme evaluations of dimethenamid data from 2018</a>
- </li>
- <li>
- <a href="../../articles/web_only/multistart.html">Short demo of the multistart method</a>
- </li>
- <li class="divider">
- </li>
-<li class="dropdown-header">Performance</li>
- <li>
- <a href="../../articles/web_only/compiled_models.html">Performance benefit by using compiled model definitions in mkin</a>
- </li>
- <li>
- <a href="../../articles/web_only/benchmarks.html">Benchmark timings for mkin</a>
- </li>
- <li>
- <a href="../../articles/web_only/saem_benchmarks.html">Benchmark timings for saem.mmkin</a>
- </li>
- <li class="divider">
- </li>
-<li class="dropdown-header">Miscellaneous</li>
- <li>
- <a href="../../articles/twa.html">Calculation of time weighted average concentrations with mkin</a>
- </li>
- <li>
- <a href="../../articles/web_only/NAFTA_examples.html">Example evaluation of NAFTA SOP Attachment examples</a>
- </li>
+ <nav class="navbar navbar-expand-lg fixed-top bg-light" data-bs-theme="default" aria-label="Site navigation"><div class="container">
+
+ <a class="navbar-brand me-2" href="../../index.html">mkin</a>
+
+ <small class="nav-text text-default me-auto" data-bs-toggle="tooltip" data-bs-placement="bottom" title="Released version">1.2.9</small>
+
+
+ <button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbar" aria-controls="navbar" aria-expanded="false" aria-label="Toggle navigation">
+ <span class="navbar-toggler-icon"></span>
+ </button>
+
+ <div id="navbar" class="collapse navbar-collapse ms-3">
+ <ul class="navbar-nav me-auto">
+<li class="nav-item"><a class="nav-link" href="../../reference/index.html">Reference</a></li>
+<li class="active nav-item dropdown">
+ <button class="nav-link dropdown-toggle" type="button" id="dropdown-articles" data-bs-toggle="dropdown" aria-expanded="false" aria-haspopup="true">Articles</button>
+ <ul class="dropdown-menu" aria-labelledby="dropdown-articles">
+<li><a class="dropdown-item" href="../../articles/mkin.html">Introduction to mkin</a></li>
+ <li><hr class="dropdown-divider"></li>
+ <li><h6 class="dropdown-header" data-toc-skip>Example evaluations with (generalised) nonlinear least squares</h6></li>
+ <li><a class="dropdown-item" href="../../articles/FOCUS_D.html">Example evaluation of FOCUS Example Dataset D</a></li>
+ <li><a class="dropdown-item" href="../../articles/FOCUS_L.html">Example evaluation of FOCUS Laboratory Data L1 to L3</a></li>
+ <li><a class="dropdown-item" href="../../articles/web_only/FOCUS_Z.html">Example evaluation of FOCUS Example Dataset Z</a></li>
+ <li><hr class="dropdown-divider"></li>
+ <li><h6 class="dropdown-header" data-toc-skip>Example evaluations with hierarchical models (nonlinear mixed-effects models)</h6></li>
+ <li><a class="dropdown-item" href="../../articles/prebuilt/2022_dmta_parent.html">Testing hierarchical parent degradation kinetics with residue data on dimethenamid and dimethenamid-P</a></li>
+ <li><a class="dropdown-item" href="../../articles/prebuilt/2022_dmta_pathway.html">Testing hierarchical pathway kinetics with residue data on dimethenamid and dimethenamid-P</a></li>
+ <li><a class="dropdown-item" href="../../articles/prebuilt/2023_mesotrione_parent.html">Testing covariate modelling in hierarchical parent degradation kinetics with residue data on mesotrione</a></li>
+ <li><a class="dropdown-item" href="../../articles/prebuilt/2022_cyan_pathway.html">Testing hierarchical pathway kinetics with residue data on cyantraniliprole</a></li>
+ <li><a class="dropdown-item" href="../../articles/web_only/dimethenamid_2018.html">Comparison of saemix and nlme evaluations of dimethenamid data from 2018</a></li>
+ <li><a class="dropdown-item" href="../../articles/web_only/multistart.html">Short demo of the multistart method</a></li>
+ <li><hr class="dropdown-divider"></li>
+ <li><h6 class="dropdown-header" data-toc-skip>Performance</h6></li>
+ <li><a class="dropdown-item" href="../../articles/web_only/compiled_models.html">Performance benefit by using compiled model definitions in mkin</a></li>
+ <li><a class="dropdown-item" href="../../articles/web_only/benchmarks.html">Benchmark timings for mkin</a></li>
+ <li><a class="dropdown-item" href="../../articles/web_only/saem_benchmarks.html">Benchmark timings for saem.mmkin</a></li>
+ <li><hr class="dropdown-divider"></li>
+ <li><h6 class="dropdown-header" data-toc-skip>Miscellaneous</h6></li>
+ <li><a class="dropdown-item" href="../../articles/twa.html">Calculation of time weighted average concentrations with mkin</a></li>
+ <li><a class="dropdown-item" href="../../articles/web_only/NAFTA_examples.html">Example evaluation of NAFTA SOP Attachment examples</a></li>
</ul>
</li>
-<li>
- <a href="../../news/index.html">News</a>
-</li>
+<li class="nav-item"><a class="nav-link" href="../../coverage/coverage.html">Test coverage</a></li>
+<li class="nav-item"><a class="nav-link" href="../../news/index.html">News</a></li>
</ul>
-<ul class="nav navbar-nav navbar-right">
-<li>
- <a href="https://github.com/jranke/mkin/" class="external-link">
- <span class="fab fa-github fa-lg"></span>
-
- </a>
-</li>
+<ul class="navbar-nav">
+<li class="nav-item"><form class="form-inline" role="search">
+ <input class="form-control" type="search" name="search-input" id="search-input" autocomplete="off" aria-label="Search site" placeholder="Search for" data-search-index="../../search.json">
+</form></li>
+<li class="nav-item"><a class="external-link nav-link" href="https://github.com/jranke/mkin/" aria-label="GitHub"><span class="fa fab fa-github fa-lg"></span></a></li>
</ul>
</div>
-<!--/.nav-collapse -->
+
+
</div>
-<!--/.container -->
-</div>
-<!--/.navbar -->
+</nav><div class="container template-article">
+
-
- </header><div class="row">
- <div class="col-md-9 contents">
- <div class="page-header toc-ignore">
- <h1 data-toc-skip>Benchmark timings for saem.mmkin</h1>
+
+<div class="row">
+ <main id="main" class="col-md-9"><div class="page-header">
+
+ <h1>Benchmark timings for saem.mmkin</h1>
<h4 data-toc-skip class="author">Johannes
Ranke</h4>
<h4 data-toc-skip class="date">Last change 17 February 2023
-(rebuilt 2023-05-19)</h4>
+(rebuilt 2025-02-13)</h4>
<small class="dont-index">Source: <a href="https://github.com/jranke/mkin/blob/HEAD/vignettes/web_only/saem_benchmarks.rmd" class="external-link"><code>vignettes/web_only/saem_benchmarks.rmd</code></a></small>
- <div class="hidden name"><code>saem_benchmarks.rmd</code></div>
-
+ <div class="d-none name"><code>saem_benchmarks.rmd</code></div>
</div>
@@ -190,7 +139,7 @@ explanation of the following preprocessing.</p>
<div class="sourceCode" id="cb4"><pre class="downlit sourceCode r">
<code class="sourceCode R"><span><span class="fu"><a href="https://rdrr.io/r/stats/anova.html" class="external-link">anova</a></span><span class="op">(</span></span>
<span> <span class="va">sfo_const</span>, <span class="va">dfop_const</span>, <span class="va">sforb_const</span>, <span class="va">hs_const</span>,</span>
-<span> <span class="va">sfo_tc</span>, <span class="va">dfop_tc</span>, <span class="va">sforb_tc</span>, <span class="va">hs_tc</span><span class="op">)</span> <span class="op">|&gt;</span> <span class="fu"><a href="https://rdrr.io/pkg/knitr/man/kable.html" class="external-link">kable</a></span><span class="op">(</span>, digits <span class="op">=</span> <span class="fl">1</span><span class="op">)</span></span></code></pre></div>
+<span> <span class="va">sfo_tc</span>, <span class="va">dfop_tc</span>, <span class="va">sforb_tc</span>, <span class="va">hs_tc</span><span class="op">)</span> <span class="op">|&gt;</span> <span class="fu">kable</span><span class="op">(</span>, digits <span class="op">=</span> <span class="fl">1</span><span class="op">)</span></span></code></pre></div>
<table class="table">
<thead><tr class="header">
<th align="left"></th>
@@ -330,7 +279,17 @@ systems. All trademarks belong to their respective owners.</p>
<h3 id="parent-only-1">Parent only<a class="anchor" aria-label="anchor" href="#parent-only-1"></a>
</h3>
<p>Constant variance for SFO, DFOP, SFORB and HS.</p>
-<table class="table">
+<table style="width:100%;" class="table">
+<colgroup>
+<col width="48%">
+<col width="7%">
+<col width="7%">
+<col width="8%">
+<col width="7%">
+<col width="7%">
+<col width="7%">
+<col width="7%">
+</colgroup>
<thead><tr class="header">
<th align="left">CPU</th>
<th align="left">OS</th>
@@ -412,10 +371,50 @@ systems. All trademarks belong to their respective owners.</p>
<td align="right">1.987</td>
<td align="right">2.055</td>
</tr>
+<tr class="even">
+<td align="left">Intel(R) Xeon(R) Gold 6134 CPU @ 3.20GHz</td>
+<td align="left">Linux</td>
+<td align="left">1.2.6</td>
+<td align="left">3.2</td>
+<td align="right">2.998</td>
+<td align="right">6.523</td>
+<td align="right">6.126</td>
+<td align="right">4.721</td>
+</tr>
+<tr class="odd">
+<td align="left">Ryzen 9 7950X</td>
+<td align="left">Linux</td>
+<td align="left">1.2.6</td>
+<td align="left">3.2</td>
+<td align="right">1.135</td>
+<td align="right">2.025</td>
+<td align="right">2.406</td>
+<td align="right">2.478</td>
+</tr>
+<tr class="even">
+<td align="left">Ryzen 9 7950X</td>
+<td align="left">Linux</td>
+<td align="left">1.2.9</td>
+<td align="left">3.3</td>
+<td align="right">1.086</td>
+<td align="right">1.991</td>
+<td align="right">1.949</td>
+<td align="right">2.411</td>
+</tr>
</tbody>
</table>
<p>Two-component error fits for SFO, DFOP, SFORB and HS.</p>
-<table class="table">
+<table style="width:100%;" class="table">
+<colgroup>
+<col width="48%">
+<col width="7%">
+<col width="7%">
+<col width="8%">
+<col width="7%">
+<col width="7%">
+<col width="7%">
+<col width="7%">
+</colgroup>
<thead><tr class="header">
<th align="left">CPU</th>
<th align="left">OS</th>
@@ -497,6 +496,36 @@ systems. All trademarks belong to their respective owners.</p>
<td align="right">3.433</td>
<td align="right">3.595</td>
</tr>
+<tr class="even">
+<td align="left">Intel(R) Xeon(R) Gold 6134 CPU @ 3.20GHz</td>
+<td align="left">Linux</td>
+<td align="left">1.2.6</td>
+<td align="left">3.2</td>
+<td align="right">5.070</td>
+<td align="right">8.464</td>
+<td align="right">8.525</td>
+<td align="right">7.599</td>
+</tr>
+<tr class="odd">
+<td align="left">Ryzen 9 7950X</td>
+<td align="left">Linux</td>
+<td align="left">1.2.6</td>
+<td align="left">3.2</td>
+<td align="right">2.161</td>
+<td align="right">3.325</td>
+<td align="right">3.669</td>
+<td align="right">3.153</td>
+</tr>
+<tr class="even">
+<td align="left">Ryzen 9 7950X</td>
+<td align="left">Linux</td>
+<td align="left">1.2.9</td>
+<td align="left">3.3</td>
+<td align="right">2.426</td>
+<td align="right">3.196</td>
+<td align="right">3.256</td>
+<td align="right">3.322</td>
+</tr>
</tbody>
</table>
</div>
@@ -505,6 +534,14 @@ systems. All trademarks belong to their respective owners.</p>
</h3>
<p>Two-component error for DFOP-SFO and SFORB-SFO.</p>
<table class="table">
+<colgroup>
+<col width="54%">
+<col width="8%">
+<col width="8%">
+<col width="9%">
+<col width="9%">
+<col width="10%">
+</colgroup>
<thead><tr class="header">
<th align="left">CPU</th>
<th align="left">OS</th>
@@ -570,6 +607,30 @@ systems. All trademarks belong to their respective owners.</p>
<td align="right">12.160</td>
<td align="right">265.934</td>
</tr>
+<tr class="even">
+<td align="left">Intel(R) Xeon(R) Gold 6134 CPU @ 3.20GHz</td>
+<td align="left">Linux</td>
+<td align="left">1.2.6</td>
+<td align="left">3.2</td>
+<td align="right">30.168</td>
+<td align="right">748.675</td>
+</tr>
+<tr class="odd">
+<td align="left">Ryzen 9 7950X</td>
+<td align="left">Linux</td>
+<td align="left">1.2.6</td>
+<td align="left">3.2</td>
+<td align="right">12.007</td>
+<td align="right">286.757</td>
+</tr>
+<tr class="even">
+<td align="left">Ryzen 9 7950X</td>
+<td align="left">Linux</td>
+<td align="left">1.2.9</td>
+<td align="left">3.3</td>
+<td align="right">12.420</td>
+<td align="right">289.338</td>
+</tr>
</tbody>
</table>
</div>
@@ -577,7 +638,14 @@ systems. All trademarks belong to their respective owners.</p>
<h3 id="three-metabolites-1">Three metabolites<a class="anchor" aria-label="anchor" href="#three-metabolites-1"></a>
</h3>
<p>Two-component error for SFORB-SFO3-plus</p>
-<table class="table">
+<table style="width:100%;" class="table">
+<colgroup>
+<col width="59%">
+<col width="8%">
+<col width="8%">
+<col width="10%">
+<col width="13%">
+</colgroup>
<thead><tr class="header">
<th align="left">CPU</th>
<th align="left">OS</th>
@@ -635,39 +703,51 @@ systems. All trademarks belong to their respective owners.</p>
<td align="left">3.2</td>
<td align="right">456.252</td>
</tr>
+<tr class="even">
+<td align="left">Intel(R) Xeon(R) Gold 6134 CPU @ 3.20GHz</td>
+<td align="left">Linux</td>
+<td align="left">1.2.6</td>
+<td align="left">3.2</td>
+<td align="right">1235.028</td>
+</tr>
+<tr class="odd">
+<td align="left">Ryzen 9 7950X</td>
+<td align="left">Linux</td>
+<td align="left">1.2.6</td>
+<td align="left">3.2</td>
+<td align="right">480.577</td>
+</tr>
+<tr class="even">
+<td align="left">Ryzen 9 7950X</td>
+<td align="left">Linux</td>
+<td align="left">1.2.9</td>
+<td align="left">3.3</td>
+<td align="right">485.836</td>
+</tr>
</tbody>
</table>
</div>
</div>
- </div>
-
- <div class="col-md-3 hidden-xs hidden-sm" id="pkgdown-sidebar">
-
- <nav id="toc" data-toggle="toc"><h2 data-toc-skip>Contents</h2>
- </nav>
-</div>
-
+ </main><aside class="col-md-3"><nav id="toc" aria-label="Table of contents"><h2>On this page</h2>
+ </nav></aside>
</div>
- <footer><div class="copyright">
- <p></p>
-<p>Developed by Johannes Ranke.</p>
+ <footer><div class="pkgdown-footer-left">
+ <p>Developed by Johannes Ranke.</p>
</div>
-<div class="pkgdown">
- <p></p>
-<p>Site built with <a href="https://pkgdown.r-lib.org/" class="external-link">pkgdown</a> 2.0.7.</p>
+<div class="pkgdown-footer-right">
+ <p>Site built with <a href="https://pkgdown.r-lib.org/" class="external-link">pkgdown</a> 2.1.1.</p>
</div>
- </footer>
+ </footer>
</div>
-
-
+
</body>
</html>

Contact - Imprint