C++ 编译器支持 std::execution(并行 STL 算法)

C++ compiler support for std::execution (parallel STL algorithms)

我想使用 std::sort 的并行版本,我可以在其中指定一个执行策略,例如 std::execution::par_unseq

我目前在 Ubuntu Linux 下使用 clang++-10g++ 7.5.0,但都找不到所需的包含文件 execution,所以显然,这些编译器版本尚不支持并行算法。

谁能告诉我 clanggcc 的哪个版本支持此功能?

GCC 10 和 Clang 11 支持 C++17 执行策略。

这是一个演示示例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];
}