Boost logo

Boost :

Subject: Re: [boost] Fwd: [SORT] Parallel Algorithms
From: Steven Ross (spreadsort_at_[hidden])
Date: 2015-04-16 05:17:19


On Thu, Apr 16, 2015 at 4:08 AM, Francisco José Tapia <fjtapia_at_[hidden]> wrote:
> Hi Steven
>
> I had been revising and testing spreadsort, and the results are impressive.
>
> I have prepared the benchmarks and include spreadsort. Now the numbers are
> extracted from a file generated with a random number generator. In a few
> days I will put all in a git repository for a easy access
>
> As I had seen, you use boost::sort for to invoke to spreadsort. If you use
> this name, which name use for to invoke introsort?

What version of the code are you looking at? I restructured the
namespacing after the review completed to match the directory
structure.
The latest version is at https://github.com/boostorg/sort.
You can also see it integrated into the 1_58_0 release candidate here:
http://boost.cowic.de/rc/

The naming goes like this:
boost::sort::spreadsort::spreadsort
boost::sort::spreadsort::integer_sort
etc.

So if you were to add a library, it might be something like this:
boost::sort::parallel::parallel_introsort
(Is there a name you would prefer to parallel?)

> I think it's a simple and easy to understand, because with the name sort,
> many people think about an algorithm as introsort ( general , not specific
> for several data types) and not stable.

spreadsort is a general algorithm, and can be used generically through
this implementation, but yes, it will generate compile errors if
people pass random data types that don't have the required operators,
until they specify functors to use instead. The namespacing is
intended to match the directory structure, but it also enforces the
specificity you're requesting.


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk