gpt4 book ai didi

c - 为什么对 c 代码的这种微小更改会导致执行时间出现如此巨大的差异?

转载 作者:行者123 更新时间:2023-12-02 07:04:26 26 4
gpt4 key购买 nike

time 命令报告的 unix 中的以下代码需要大约 9 秒。

int main()
{
double u = 0;
double v = 0;
double w = 0;
int i;
for (i = 0;i < 1000000000;++i) {
v *= w;
u += v;
}
printf("%lf\n",u);
}

我不明白为什么当我将 v *= w; 更改为 v *= u; 时,执行时间几乎翻了一番

最佳答案

当您将 v *= w 更改为 v *= u 时,这两个语句之间存在相互依赖关系。因此,第一条语句必须在执行 u += v 之前完成,这可能是提高性能的原因,因为编译器无法并行执行。

关于c - 为什么对 c 代码的这种微小更改会导致执行时间出现如此巨大的差异?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14799859/

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