【发布时间】:2020-10-17 18:41:02
【问题描述】:
我正在阅读这个博客:- https://developerinsider.co/why-is-one-loop-so-much-slower-than-two-loops/。我决定使用 C++ 和 Xcode 进行检查。所以,我写了一个下面给出的简单程序,当我执行它时,我对结果感到惊讶。实际上,与文章中所述相反,与第一个功能相比,第二个功能要慢。谁能帮我弄清楚为什么会这样?
#include#include #include 使用命名空间 std::chrono; 无效函数1(){ 常量 int n=100000; int a1[n],b1[n],c1[n],d1[n]; for(int j=0;j (停止 - 开始); std::cout (停止 - 开始); std::cout
【问题讨论】:
-
您使用的是优化代码吗?你什么时候看的?
-
时间上有什么不同?会不会是随机波动?一种更容易显示的方法是在计时器内运行每个循环 1000 次,以查看第一个循环是否始终比另一个慢。
-
@Korsia 10 次迭代的一致性约为 300 微秒。
标签: c++ performance