I was attempting to accelerate one of the kernels of my code which at its essence boils down to a sort (I am running this on a CPU with several cores).
I discovered from this post ([STL algorithms and concurrent programming](https://stackoverflow.com/questions/2547531/stl-algorithms-and-concurrent-programming)) that some of these algorithms can be accelerated, for example, using OpenMP (see below).

I got quite decent speedup using \_\_gnu\_parallel::sort

E.g.

```
__gnu_parallel::sort(std::begin(X), std::end(X), [](X a, X b){ return a.member > b.member;});

```

It turns out that std::list is a much better container for my data. But this does not seem to have a parallel/multithreaded implementation for sort. 

The post linked above is was dated 2010. I was wondering what the most current wisdom is on this.