首頁 >後端開發 >C++ >如何利用 C 17 平行演算法來提高效能?

如何利用 C 17 平行演算法來提高效能?

Patricia Arquette
Patricia Arquette原創
2024-10-27 06:03:29727瀏覽

 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:

  • 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