Francisco,
On Sun Nov 30 2014 at 11:32:10 AM Francisco José Tapia
Hi,
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.