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>𝑶(N*log(K/S + S))</em></span> and <span class="emphasis"><em>𝑶(N*log(N))</em></span>
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>𝑶(N*log(N))</em></span> performance
for these medium-sized pieces. Also, <code class="computeroutput">flash_sort</code>'s <span class="emphasis"><em>𝑶(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