gpt4 book ai didi

c++ - 如何在 std::reduce 和 std::accumulate 之间进行选择?

转载 作者:行者123 更新时间:2023-12-01 12:30:07 27 4
gpt4 key购买 nike

std::accumulate std::reduce 做几乎同样的事情。
std::reduce的摘要说明了一切:

similar to `std::accumulate`, except out of order 

在许多情况下,这些函数应该产生相同的最终结果并展示相同的整体功能。很明显,如果您有一些非常重的负载计算等,您可以尝试使用 std::reduce为parrelization。 IE。从鸟类的角度来看,这里的传统智慧是什么 - 除非明确优化,否则您是否应该始终坚持直率的 std::accumulate ?或者应该只是默认使用 std::reduce ?

std::reduce (选择默认/无执行策略)始终至少与 std::accumulate 一样快(保存几条指令)那么我认为只有在顺序严格时才应该使用accumulate。

最佳答案

是的,我会一直使用 std::reduce除非您知道您需要来自 std::accumulate 的订单保证.这为编译器提供了更大的优化自由度,并且在最坏的情况下无论如何都是相同的。

关于c++ - 如何在 std::reduce 和 std::accumulate 之间进行选择?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59855944/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com