首页  >  文章  >  后端开发  >  如何利用 C 17 并行算法来提高性能?

如何利用 C 17 并行算法来提高性能?

Patricia Arquette
Patricia Arquette原创
2024-10-27 06:03:29645浏览

 How Can I Leverage C  17 Parallel Algorithms for Performance Gains?

C 17 并行算法已经实现了吗?

在 C 17 中引入了并行算法,但面临实现挑战。截至今天,这些算法已在 GCC 9 中实现。但是,要使用它们,您必须独立安装线程构建块 (TBB)。

实现细节

Ubuntu 19.10:

  • GCC 9 和 TBB 2019 已经可用。
  • 安装: sudo apt install gcc libtbb-dev

Ubuntu 18.04:

  • GCC 9 可以从 PPA 获取。
  • TBB 必须手动编译,因为现有版本不兼容。
  • 自动化安装步骤请参考答案中提供的命令。

使用:

<code class="cpp">#include <execution>
#include <algorithm>

std::sort(std::execution::par_unseq, input.begin(), input.end());</code>

性能

使用排序程序的基准测试展示了并行算法的显着加速,在一个示例中实现了 4.5 倍的改进。性能可能会因系统规格而异。

常见错误故障排除

  • 缺少 TBB: 未找到 tbb/blocked_range.h。
  • 过时的 TBB: 需要 TBB 版本 2018 或更高版本。

以上是如何利用 C 17 并行算法来提高性能?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn