#include <stdio.h>
#include <iostream>
#include <time.h>
using namespace std;
#define N 1e8
int fun1(int x)//i*x^i
{
int sum = 0;
for (int i = 0; i < 10; i ++) {
sum = i * sum + i - 1;
}
return sum;
}//f(x) = a0 + x * (a1 + x * (a2 + ...x * (an-1 + an * x)...))
int fun2(int x)
{
int sum = 0,temp = 1;
for (int i = 1; i < 10; i ++) {
temp = temp * x;
sum = sum + i * temp ;
}
return sum;
}
int main()
{
int x;
cin >> x;
clock_t strat,end;
strat = clock();//记录从程序开始至今的clock tick</span></span> for (int i = 0; i < N;i ++)
{
fun1(x);
}
end = clock();
double d1 = (end - strat)/N;
printf("best : %6.5f\n",d1);
strat = clock();
for (int i = 0; i < N;i ++)
{
fun2(x);
}
end = clock();
double d2 = (end - strat)/N;
printf("%6.5f\n",d2);
return 0;
}
输出:
5
0.02594
0.02917
本文通过两个函数实现相同功能但不同算法的方式,展示了在C++中如何进行简单的性能测试。使用了clock函数来测量两种不同算法的运行时间,并进行了对比。
1407

被折叠的 条评论
为什么被折叠?



