Boost logo

Boost :

Subject: Re: [boost] Fwd: [SORT] Parallel Algorithms
From: Steven Ross (spreadsort_at_[hidden])
Date: 2015-04-18 10:38:40

On Thu, Apr 16, 2015 at 6:20 AM Francisco José Tapia <fjtapia_at_[hidden]>
> I just revised the new version, and the documentation is much better than
> the older. ( The index.html don't run well because don't exist the folder
> doc/html/) .

The html is generated from the code and a template. In 1_58_0 boost
release (which just came out), the generated output is included. Do you
want to know how to generate the html?

> As see in the sort.pdf, the spreadsort function is in the boost::sort
> namespace. This can be coherent with my previous message.

That's an obsolete file, and I've deleted it. Thanks for pointing it out.
You should use the html docs.

> My initial idea is to put the functions in the boost::sort namespace with
> the names
> - introsort
> - parallel_introsort
> - smart_merge_sort
> - parallel_stable_sort
> - sample_sort
> I include the sample sort because in the parallel sorting of strings the
> sample sort is a 27% faster than parallel_stable_sort , and use only a 4%
> more of memory.
> The code can be in a folder with any name, by example,
> boost/sort/generalsort/algorithms.hpp. What's your opinion?

The namespace needs to match the folder, that's the boost convention.
The only reason to include introsort (i'd put it in the detail folder) is
for comparison; std::sort usually performs comparably or better, and is
easier to find, in which case "parallel" works (or more specifically,
parallel_comparison) as a name. I don't like "generalsort" because
spreadsort could be described the same way; it isn't specific enough.

> According to your recommendations, I create the benchmarks, and the data
> are extracted from a file generate with a random number generator.
> I am trying to check in machines with many cores, I am talking with
> friends of universities of Madrid.
> I include the spreadsort in the benchmarks, and the results are impressive.
> I changed the name of the objects ( now is int_array) , and use the default
> copy constructor and the default operator =, the comparison is with the sum
> of all the values in the array, and all the positions of the array are
> filled with the random numbers of the file
> I am writing the documentation and changing the test programs to adapt to
> the boost format. In a few days, I will create a git repository, with all
> the information
> Sounds good.

Boost list run by bdawes at, gregod at, cpdaniel at, john at