问题描述
- 内联函数!计算时间问题
-
//======================================
//内联函数有内,计算时间差
//======================================
#include
#include
using namespace std;
int cale1(int a,int b){
return a+b;
}
inline int cale2(int a,int b){
return a+b;
}
int main(){
int x[1000];
int y[1000];
int z[1000];
clock_t t=clock();
for(int i=0;i<1000;++i)
for(int j=0;j<1000;++j)
for(int m=0;m<1000;++m)
z[i]=cale1(x[j],y[m]);
cout<<"not using inline: "<<(clock()-t)/CLK_TCK<<" seconds
";
t=clock();
for(int i=0;i<1000;++i)
for(int j=0;j<1000;++j)
for(int m=0;m<1000;++m)
z[i]=cale2(x[j],y[m]);
cout<<" using inline: "<<(clock()-t)/CLK_TCK<<" seconds
";
}
运行结果:为什么运行时间是一样的?
解决方案
编译的时候没开优化选项吧,没有优化选项,inline函数跟非inline函数是一样的
时间: 2024-12-03 23:47:24