我最近一直在从事一个项目,遇到一个问题,我不想在小向量上使用std::execution::par,因为这会产生开销。
理论上来说,这可以通过返回std::execution::par或std::execution::seq的函数来解决,具体取决于向量的总大小乘以每个元素的大小,并将其与固定值进行比较。但问题是它们的类型不同,这意味着它们无法退回。我们也可以只返回一个布尔值是否值得并行,但这会导致讨厌的分支,我不希望这样。我只是想知道是否有一种方法可以巧妙地解决这个问题
c++ parallel-processing std c++17 c++20
c++ ×1
c++17 ×1
c++20 ×1
parallel-processing ×1
std ×1