我想使用并行版本的std::sort
,在那里我可以指定类似std::execution::par_unseq
的执行策略。
我目前在Ubuntu Linux下使用clang++-10
和g++ 7.5.0
,但两者都找不到所需的包含文件execution
,所以显然这些编译器版本还不支持并行算法。
有人能告诉我clang
和gcc
的哪个版本会支持此功能吗?
C++17执行策略由GCC 10和Clang 11支持。
下面是一个演示示例https://gcc.godbolt.org/z/xahs5x1Kx
#include <execution>
int main()
{
int a[] = {2,1};
std::sort(std::execution::par_unseq, std::begin(a), std::end(a) );
return a[0];
}