Subject: Re: [boost] [review] [sort] Sort library review manager results
From: Steven Ross (spreadsort_at_[hidden])
Date: 2014-12-01 06:40:29
On Sun Nov 30 2014 at 11:32:10 AM Francisco JosÃ© Tapia <fjtapia_at_[hidden]>
> If you are interested about sort methods, I have a parallel implementation
> of intro-sort and merge-sort.
> The results of these implementations are similar to the obtained by the
> parallel implementations of GCC ( using OpnMP) and TBB ( don't have
> parallel stable sort). In the attached text file you can see the results on
> my computer.
Thanks for providing your results.
Some questions about these results:
1) what random number generation function did you use?
2) Did you try the worst-case ordering for introsort?
3) Why would someone want to use your library instead of TBB? (having used
OpenMP, I know why people might not like OpenMP) I'd like at least one
statement from someone else on this user group that they'd like to use this
library and why.
4) Can you do something to fix the performance for already-sorted data? TBB
appears to have an optimization for that surprisingly common case.
5) Your stable_sort appears unacceptably slow single-threaded vs the
standard gcc version. You probably should fix that or abandon it.
6) Have you compared memory usage to make sure all variants are comparable
for the same number of threads?
> My implementation don't use OpenMP nor TBB. Use a concurrent stack
> implemented with a vector and with an spin-lock done with atomic variables.
> It will be compatible with any C++11 compiler
Can you make it work as efficiently without C++11? Not everyone has a
C++11 compiler just yet.
> The algorithms run well. But they are pending of a detailed adjust in
> order to improve the speed.
> If you are interested , please ,say me in which name space must be
> included. Now are a part of the new version of my library countertree and
> are in this name space. I will need two weeks for to do because I am
> teacher and in these days I am buried in a mountain of exams.
No rush. I'll let you know once we finalize on a namespace.