Imported Upstream version 1.72.0
[platform/upstream/boost.git] / libs / sort / doc / html / sort / single_thread / spreadsort / sort_hpp / rationale / why_spreadsort.html
index e53db1a..01179bd 100644 (file)
@@ -28,7 +28,7 @@
             spreadsort?</a>
 </h6></div></div></div>
 <p>
-              The <code class="literal"><code class="computeroutput"><a class="link" href="../../../../../boost/sort/spreadsort/spreadso_idm46709765012272.html" title="Function template spreadsort">spreadsort</a></code></code>
+              The <code class="literal"><code class="computeroutput"><a class="link" href="../../../../../boost/sort/spreadsort/spreadso_idm46048203074304.html" title="Function template spreadsort">spreadsort</a></code></code>
               algorithm used in this library is designed to provide best possible
               worst-case performance, while still being cache-friendly. It provides
               the better of <span class="emphasis"><em>&#119926;(N*log(K/S + S))</em></span> and <span class="emphasis"><em>&#119926;(N*log(N))</em></span>
@@ -48,8 +48,8 @@
               inefficient.
             </p>
 <p>
-              <code class="literal"><code class="computeroutput"><a class="link" href="../../../../../boost/sort/spreadsort/integer__idm46709765154208.html" title="Function template integer_sort">integer_sort</a></code></code>
-              and <code class="literal"><code class="computeroutput"><a class="link" href="../../../../../boost/sort/spreadsort/float_so_idm46709766348432.html" title="Function template float_sort">float_sort</a></code></code>
+              <code class="literal"><code class="computeroutput"><a class="link" href="../../../../../boost/sort/spreadsort/integer__idm46048203222928.html" title="Function template integer_sort">integer_sort</a></code></code>
+              and <code class="literal"><code class="computeroutput"><a class="link" href="../../../../../boost/sort/spreadsort/float_so_idm46048204416688.html" title="Function template float_sort">float_sort</a></code></code>
               use <a href="http://en.wikipedia.org/wiki/Introsort" target="_top">introsort</a>
               instead, which provides <span class="emphasis"><em>&#119926;(N*log(N))</em></span> performance
               for these medium-sized pieces. Also, <code class="computeroutput">flash_sort</code>'s <span class="emphasis"><em>&#119926;(N)</em></span>
               that uses substantial additional memory.
             </p>
 <p>
-              <code class="literal"><code class="computeroutput"><a class="link" href="../../../../../boost/sort/spreadsort/string_s_idm46709764928704.html" title="Function template string_sort">string_sort</a></code></code>
+              <code class="literal"><code class="computeroutput"><a class="link" href="../../../../../boost/sort/spreadsort/string_s_idm46048202990736.html" title="Function template string_sort">string_sort</a></code></code>
               uses minimal additional memory by comparison. Speed comparisons between
               the two haven't been made, but the better memory efficiency makes
-              <code class="literal"><code class="computeroutput"><a class="link" href="../../../../../boost/sort/spreadsort/string_s_idm46709764928704.html" title="Function template string_sort">string_sort</a></code></code>
+              <code class="literal"><code class="computeroutput"><a class="link" href="../../../../../boost/sort/spreadsort/string_s_idm46048202990736.html" title="Function template string_sort">string_sort</a></code></code>
               more general.
             </p>
 <p>
-              <code class="computeroutput">postal_sort</code> and <code class="literal"><code class="computeroutput"><a class="link" href="../../../../../boost/sort/spreadsort/string_s_idm46709764928704.html" title="Function template string_sort">string_sort</a></code></code>
+              <code class="computeroutput">postal_sort</code> and <code class="literal"><code class="computeroutput"><a class="link" href="../../../../../boost/sort/spreadsort/string_s_idm46048202990736.html" title="Function template string_sort">string_sort</a></code></code>
               are similar. A direct performance comparison would be welcome, but
               an efficient version of <code class="computeroutput">postal_sort</code> was not found in a
               search for source.
             </p>
 <p>
-              <code class="literal"><code class="computeroutput"><a class="link" href="../../../../../boost/sort/spreadsort/string_s_idm46709764928704.html" title="Function template string_sort">string_sort</a></code></code>
+              <code class="literal"><code class="computeroutput"><a class="link" href="../../../../../boost/sort/spreadsort/string_s_idm46048202990736.html" title="Function template string_sort">string_sort</a></code></code>
               is most similar to the <a href="http://en.wikipedia.org/wiki/American_flag_sort" target="_top">American
               flag sort</a> algorithm. The main difference is that it doesn't
               bother trying to optimize how empty buckets/piles are handled, instead
             </p>
 <p>
               Another difference is not applying the stack-size restriction. Because
-              of the equality check in <code class="literal"><code class="computeroutput"><a class="link" href="../../../../../boost/sort/spreadsort/string_s_idm46709764928704.html" title="Function template string_sort">string_sort</a></code></code>,
+              of the equality check in <code class="literal"><code class="computeroutput"><a class="link" href="../../../../../boost/sort/spreadsort/string_s_idm46048202990736.html" title="Function template string_sort">string_sort</a></code></code>,
               it would take <span class="emphasis"><em>m*m</em></span> memory worth of strings to force
-              <code class="literal"><code class="computeroutput"><a class="link" href="../../../../../boost/sort/spreadsort/string_s_idm46709764928704.html" title="Function template string_sort">string_sort</a></code></code>
+              <code class="literal"><code class="computeroutput"><a class="link" href="../../../../../boost/sort/spreadsort/string_s_idm46048202990736.html" title="Function template string_sort">string_sort</a></code></code>
               to create a stack of depth <span class="emphasis"><em>m</em></span>. This problem isn't
               a realistic one on modern systems with multi-megabyte stacksize limits,
               where main memory would be exhausted holding the long strings necessary
-              to exceed the stacksize limit. <code class="literal"><code class="computeroutput"><a class="link" href="../../../../../boost/sort/spreadsort/string_s_idm46709764928704.html" title="Function template string_sort">string_sort</a></code></code>
+              to exceed the stacksize limit. <code class="literal"><code class="computeroutput"><a class="link" href="../../../../../boost/sort/spreadsort/string_s_idm46048202990736.html" title="Function template string_sort">string_sort</a></code></code>
               can be thought of as modernizing <a href="http://en.wikipedia.org/wiki/American_flag_sort" target="_top">American
               flag sort</a> to take advantage of <a href="http://en.wikipedia.org/wiki/Introsort" target="_top">introsort</a>
               as a fallback algorithm. In the author's testing, <a href="http://en.wikipedia.org/wiki/American_flag_sort" target="_top">American