gpt4 book ai didi

c++ - 减少 C++ 代码中的循环次数是否有助于提高速度?

转载 作者:塔克拉玛干 更新时间:2023-11-03 08:09:19 25 4
gpt4 key购买 nike

我举下面的例子来说明我的问题:

void fun(int i, float *pt)
{
// do something based on i
std::cout<<*(pt+i)<<std::endl;
}
const unsigned int LOOP = 2000000007;

void fun_without_optmization()
{
float *example;
example = new float [LOOP];
for(unsigned int i=0; i<LOOP; i++)
{
fun(i,example);
}
delete []example;
}
void fun_with_optimization()
{
float *example;
example = new float [LOOP];
unsigned int unit_loop = LOOP/10;
unsigned int left_loop = LOOP%10;
pt = example;
for(unsigend int i=0; i<unit_loop; i++)
{
fun(0,pt);
fun(1,pt);
fun(2,pt);
fun(3,pt);
fun(4,pt);
fun(5,pt);
fun(6,pt);
fun(7,pt);
fun(8,pt);
fun(9,pt);
pt=pt+10;
}
delete []example;
}

据我所知,函数 fun_without_optimization() 和函数 fun_with_optimization() 应该执行相同的操作。第二个函数比第一个更好的唯一论点是 fun 中的指针计算变得简单。为什么第二个功能更好的任何其他论点?

最佳答案

展开执行 I/O 的循环就像在肯尼迪机场将 B747 的着陆跑道从伦敦向东移动一英寸。

关于c++ - 减少 C++ 代码中的循环次数是否有助于提高速度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35919074/

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