<spanclass="fu"><ahref="../reference/as.mo.html">as.mo</a></span><spanclass="op">(</span><spanclass="st">"VISA"</span><spanclass="op">)</span>, <spanclass="co"># Vancomycin Intermediate S. aureus</span>
<spanclass="fu"><ahref="../reference/as.mo.html">as.mo</a></span><spanclass="op">(</span><spanclass="st">"VRSA"</span><spanclass="op">)</span>, <spanclass="co"># Vancomycin Resistant S. aureus</span>
times <spanclass="op">=</span><spanclass="fl">10</span><spanclass="op">)</span>
<spanclass="fu"><ahref="https://docs.ropensci.org/skimr/reference/print.html">print</a></span><spanclass="op">(</span><spanclass="va">S.aureus</span>, unit <spanclass="op">=</span><spanclass="st">"ms"</span>, signif <spanclass="op">=</span><spanclass="fl">2</span><spanclass="op">)</span>
<spanclass="co"># [1] "^st.* au"</span>
<spanclass="co"># [1] "^st.* au"</span>
<spanclass="co"># [1] "^st.* au"</span>
<spanclass="co"># [1] "^st.* au"</span>
<spanclass="co"># [1] "^st.* au"</span>
<spanclass="co"># [1] "^st.* au"</span>
<spanclass="co"># [1] "^st.* au"</span>
<spanclass="co"># [1] "^st.* au"</span>
<spanclass="co"># [1] "^st.* au"</span>
<spanclass="co"># [1] "^st.* au"</span>
<spanclass="co"># [1] "^st.* au"</span>
<spanclass="co"># [1] "^st.* au"</span>
<spanclass="co"># [1] "^st.* au"</span>
<spanclass="co"># [1] "^st.* au"</span>
<spanclass="co"># [1] "^st.* au"</span>
<spanclass="co"># [1] "^st.* au"</span>
<spanclass="co"># [1] "^st.* au"</span>
<spanclass="co"># [1] "^st.* au"</span>
<spanclass="co"># [1] "^st.* au"</span>
<spanclass="co"># [1] "^st.* au"</span>
<spanclass="fu"><ahref="https://rdrr.io/r/base/print.html">print</a></span><spanclass="op">(</span><spanclass="va">S.aureus</span>, unit <spanclass="op">=</span><spanclass="st">"ms"</span>, signif <spanclass="op">=</span><spanclass="fl">2</span><spanclass="op">)</span>
<spanclass="co"># Unit: milliseconds</span>
<spanclass="co"># expr min lq mean median uq max</span>
<p>In the table above, all measurements are shown in milliseconds (thousands of seconds). A value of 5 milliseconds means it can determine 200 input values per second. It case of 100 milliseconds, this is only 10 input values per second. It is clear that accepted taxonomic names are extremely fast, but some variations can take up to 500-1000 times as much time.</p>
<p>To improve performance, two important calculations take almost no time at all: <strong>repetitive results</strong> and <strong>already precalculated results</strong>.</p>
times <spanclass="op">=</span><spanclass="fl">10</span><spanclass="op">)</span>
<spanclass="fu"><ahref="https://docs.ropensci.org/skimr/reference/print.html">print</a></span><spanclass="op">(</span><spanclass="va">run_it</span>, unit <spanclass="op">=</span><spanclass="st">"ms"</span>, signif <spanclass="op">=</span><spanclass="fl">3</span><spanclass="op">)</span>
<spanclass="fu"><ahref="https://rdrr.io/r/base/print.html">print</a></span><spanclass="op">(</span><spanclass="va">run_it</span>, unit <spanclass="op">=</span><spanclass="st">"ms"</span>, signif <spanclass="op">=</span><spanclass="fl">3</span><spanclass="op">)</span>
<spanclass="co"># Unit: milliseconds</span>
<spanclass="co"># expr min lq mean median uq max neval</span>
<p>So getting official taxonomic names of 2,000,000 (!!) items consisting of 90 unique values only takes 0.207 seconds. You only lose time on your unique input values.</p>
<p>So getting official taxonomic names of 2,000,000 (!!) items consisting of 90 unique values only takes 0.171 seconds. You only lose time on your unique input values.</p>
B <spanclass="op">=</span><spanclass="fu"><ahref="../reference/mo_property.html">mo_name</a></span><spanclass="op">(</span><spanclass="st">"S. aureus"</span><spanclass="op">)</span>,
C <spanclass="op">=</span><spanclass="fu"><ahref="../reference/mo_property.html">mo_name</a></span><spanclass="op">(</span><spanclass="st">"Staphylococcus aureus"</span><spanclass="op">)</span>,
times <spanclass="op">=</span><spanclass="fl">10</span><spanclass="op">)</span>
<spanclass="fu"><ahref="https://docs.ropensci.org/skimr/reference/print.html">print</a></span><spanclass="op">(</span><spanclass="va">run_it</span>, unit <spanclass="op">=</span><spanclass="st">"ms"</span>, signif <spanclass="op">=</span><spanclass="fl">3</span><spanclass="op">)</span>
<spanclass="fu"><ahref="https://rdrr.io/r/base/print.html">print</a></span><spanclass="op">(</span><spanclass="va">run_it</span>, unit <spanclass="op">=</span><spanclass="st">"ms"</span>, signif <spanclass="op">=</span><spanclass="fl">3</span><spanclass="op">)</span>
<spanclass="co"># Unit: milliseconds</span>
<spanclass="co"># expr min lq mean median uq max neval</span>
<spanclass="co"># A 8.76 8.96 9.39 9.31 9.86 10.10 10</span>
<spanclass="co"># B 27.60 28.20 33.00 28.90 29.40 71.20 10</span>
<spanclass="co"># C 2.28 2.32 2.47 2.45 2.48 2.85 10</span></code></pre></div>
<p>So going from <code><ahref="../reference/mo_property.html">mo_name("Staphylococcus aureus")</a></code> to <code>"Staphylococcus aureus"</code> takes 0.0025 seconds - it doesn’t even start calculating <em>if the result would be the same as the expected resulting value</em>. That goes for all helper functions:</p>
<spanclass="co"># expr min lq mean median uq max neval</span>
<spanclass="co"># A 7.08 7.37 15.90 7.94 9.02 48.9 10</span>
<spanclass="co"># B 23.50 24.00 25.20 24.10 26.20 30.1 10</span>
<spanclass="co"># C 1.54 1.62 1.76 1.71 1.81 2.3 10</span></code></pre></div>
<p>So going from <code><ahref="../reference/mo_property.html">mo_name("Staphylococcus aureus")</a></code> to <code>"Staphylococcus aureus"</code> takes 0.0017 seconds - it doesn’t even start calculating <em>if the result would be the same as the expected resulting value</em>. That goes for all helper functions:</p>
B <spanclass="op">=</span><spanclass="fu"><ahref="../reference/mo_property.html">mo_genus</a></span><spanclass="op">(</span><spanclass="st">"Staphylococcus"</span><spanclass="op">)</span>,
@ -313,17 +320,17 @@
G <spanclass="op">=</span><spanclass="fu"><ahref="../reference/mo_property.html">mo_phylum</a></span><spanclass="op">(</span><spanclass="st">"Firmicutes"</span><spanclass="op">)</span>,
H <spanclass="op">=</span><spanclass="fu"><ahref="../reference/mo_property.html">mo_kingdom</a></span><spanclass="op">(</span><spanclass="st">"Bacteria"</span><spanclass="op">)</span>,
times <spanclass="op">=</span><spanclass="fl">10</span><spanclass="op">)</span>
<spanclass="fu"><ahref="https://docs.ropensci.org/skimr/reference/print.html">print</a></span><spanclass="op">(</span><spanclass="va">run_it</span>, unit <spanclass="op">=</span><spanclass="st">"ms"</span>, signif <spanclass="op">=</span><spanclass="fl">3</span><spanclass="op">)</span>
<spanclass="fu"><ahref="https://rdrr.io/r/base/print.html">print</a></span><spanclass="op">(</span><spanclass="va">run_it</span>, unit <spanclass="op">=</span><spanclass="st">"ms"</span>, signif <spanclass="op">=</span><spanclass="fl">3</span><spanclass="op">)</span>
<spanclass="co"># Unit: milliseconds</span>
<spanclass="co"># expr min lq mean median uq max neval</span>
<spanclass="co"># A 1.91 1.95 2.06 1.99 2.09 2.62 10</span>
<spanclass="co"># B 1.83 1.91 2.092.04 2.20 2.45 10</span>
<spanclass="co"># C 1.79 1.90 2.03 1.99 2.22 2.30 10</span>
<spanclass="co"># D 1.90 2.01 2.18 2.12 2.25 2.71 10</span>
<spanclass="co"># E 1.91 2.02 2.14 2.08 2.15 2.81 10</span>
<spanclass="co"># F 1.86 1.92 2.002.01 2.06 2.16 10</span>
<spanclass="co"># G 1.81 1.96 2.09 2.08 2.22 2.41 10</span>
<spanclass="co"># H 1.90 1.93 2.05 2.00 2.22 2.29 10</span></code></pre></div>
<spanclass="co"># expr min lq mean median uq max neval</span>
<spanclass="co"># A 1.63 1.92 1.99 2.01 2.11 2.29 10</span>
<spanclass="co"># B 1.67 1.89 2.011.96 2.12 2.62 10</span>
<spanclass="co"># C 1.86 1.87 1.96 1.97 2.04 2.13 10</span>
<spanclass="co"># D 1.63 1.82 1.90 1.94 2.00 2.06 10</span>
<spanclass="co"># E 1.60 1.94 3.05 1.97 2.24 12.60 10</span>
<spanclass="co"># F 1.66 1.90 2.181.95 2.01 4.33 10</span>
<spanclass="co"># G 1.84 1.89 1.99 1.98 2.02 2.24 10</span>
<spanclass="co"># H 1.79 1.95 2.08 2.06 2.25 2.36 10</span></code></pre></div>
<p>Of course, when running <code><ahref="../reference/mo_property.html">mo_phylum("Firmicutes")</a></code> the function has zero knowledge about the actual microorganism, namely <em>S. aureus</em>. But since the result would be <code>"Firmicutes"</code> anyway, there is no point in calculating the result. And because this package ‘knows’ all phyla of all known bacteria (according to the Catalogue of Life), it can just return the initial value immediately.</p>
fr <spanclass="op">=</span><spanclass="fu"><ahref="../reference/mo_property.html">mo_name</a></span><spanclass="op">(</span><spanclass="st">"CoNS"</span>, language <spanclass="op">=</span><spanclass="st">"fr"</span><spanclass="op">)</span>,
pt <spanclass="op">=</span><spanclass="fu"><ahref="../reference/mo_property.html">mo_name</a></span><spanclass="op">(</span><spanclass="st">"CoNS"</span>, language <spanclass="op">=</span><spanclass="st">"pt"</span><spanclass="op">)</span>,
times <spanclass="op">=</span><spanclass="fl">100</span><spanclass="op">)</span>
<spanclass="fu"><ahref="https://docs.ropensci.org/skimr/reference/print.html">print</a></span><spanclass="op">(</span><spanclass="va">run_it</span>, unit <spanclass="op">=</span><spanclass="st">"ms"</span>, signif <spanclass="op">=</span><spanclass="fl">4</span><spanclass="op">)</span>
<spanclass="fu"><ahref="https://rdrr.io/r/base/print.html">print</a></span><spanclass="op">(</span><spanclass="va">run_it</span>, unit <spanclass="op">=</span><spanclass="st">"ms"</span>, signif <spanclass="op">=</span><spanclass="fl">4</span><spanclass="op">)</span>
<spanclass="co"># Unit: milliseconds</span>
<spanclass="co"># expr min lq mean median uq max neval</span>
<spanclass="co"># en 17.45 18.01 19.69 18.53 19.14 55.30 100</span>
<spanclass="co"># de 20.58 21.54 26.69 22.08 23.96 67.16 100</span>
<ahref="#last-updated-18-february-2021"class="anchor"></a><small>Last updated: 18 February 2021</small>
<ahref="#last-updated-21-february-2021"class="anchor"></a><small>Last updated: 21 February 2021</small>
</h2>
<divid="new"class="section level3">
<h3class="hasAnchor">
@ -326,6 +326,7 @@
</li>
<li>Improved speed and reliability of <code><ahref="../reference/guess_ab_col.html">guess_ab_col()</a></code>. As this also internally improves the reliability of <code><ahref="../reference/first_isolate.html">first_isolate()</a></code> and <code><ahref="../reference/mdro.html">mdro()</a></code>, this might have a slight impact on the results of those functions.</li>
<li>Fix for <code><ahref="../reference/mo_property.html">mo_name()</a></code> when used in other languages than English</li>
<li>The <code><ahref="../reference/like.html">like()</a></code> function (and its fast alias <code><ahref="../reference/like.html">%like%</a></code>) now always use Perl compatibility, improving speed for many functions in this package</li>
<spanclass="version label label-default"data-toggle="tooltip"data-placement="bottom"title="Latest development version">1.5.0.9016</span>
<spanclass="version label label-default"data-toggle="tooltip"data-placement="bottom"title="Latest development version">1.5.0.9021</span>
</span>
</div>
@ -277,7 +277,7 @@
<li><p>Is case-insensitive (use <code>%like_case%</code> for case-sensitive matching)</p></li>
<li><p>Supports multiple patterns</p></li>
<li><p>Checks if <code>pattern</code> is a regular expression and sets <code>fixed = TRUE</code> if not, to greatly improve speed</p></li>
<li><p>Tries again with <code>perl = TRUE</code> if regex fails</p></li>
<li><p>Always uses compatibility with Perl</p></li>
</ul>
<p>Using RStudio? The text <code>%like%</code> can also be directly inserted in your code from the Addins menu and can have its own Keyboard Shortcut like <code>Ctrl+Shift+L</code> or <code>Cmd+Shift+L</code> (see <code>Tools</code>><code>Modify Keyboard Shortcuts...</code>).</p>
<spanclass="version label label-default"data-toggle="tooltip"data-placement="bottom"title="Latest development version">1.5.0.9020</span>
<spanclass="version label label-default"data-toggle="tooltip"data-placement="bottom"title="Latest development version">1.5.0.9021</span>
</span>
</div>
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.