gpt4 book ai didi

c++ - MSVC 发布 exe 的不同性能

转载 作者:太空宇宙 更新时间:2023-11-04 12:25:54 25 4
gpt4 key购买 nike

我很好奇同一可执行文件的性能差异很大的原因是什么。有时,我运行它需要 20 秒,有时是 110 秒。源代码是使用标准选项在 Release模式下使用 MSVC 编译的。

代码在这里:

vector<double> Un;
vector<double> Ucur;
double *pUn, *pUcur;
...
// time marching
for (old_time=time-logfreq, time+=dt; time <= end_time; time+=dt)
{
for (i=1, j=Un.size()-1, pUn=&Un[1], pUcur=&Ucur[1]; i < j; ++i, ++pUn, ++pUcur)
{
*pUcur = (*pUn)*(1.0-0.5*alpha*( *(pUn+1) - *(pUn-1) ));
}
Ucur[0] = (Un[0])*(1.0-0.5*alpha*( Un[1] - Un[j] ));
Ucur[j] = (Un[j])*(1.0-0.5*alpha*( Un[0] - Un[j-1] ));
Un = Ucur;
}

编辑

抱歉,更不用说输入数据了。 vector Un 和 Ucur 被初始化为 2000 个值为 0 的元素。没有数据被读取/写入。不与控制台交互。当我说有时我运行时,这意味着我打开了控制台,没有其他应用程序在运行,处理器节流被禁用。我在完成后继续执行应用程序。我想这与缓存或类似的东西有关,但我不擅长低级的事情。

最佳答案

猜测这是因为您正在从存储设备加载大量数据。如果对存储设备有很多争用,那么运行速度会变慢,因为您的软件需要等待轮到它进行一些加载。

关于c++ - MSVC 发布 exe 的不同性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2565354/

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