一个测试内联的例子的有关问题,望各位来帮帮忙~多谢

一个测试内联的例子的问题,望各位来帮帮忙~谢谢
钱能的C++里有这样一个内联函数的例子:
#include   <iostream>
#include   <time.h>
#include   <conio.h>
using   namespace   std;
int   calc1(int   x,int   y){   return   x+y;}
inline   int   calc2(int   x,int   y){return   x+y;}
main()
{int   x[1000],y[1000],z[1000];
  clock_t   t=clock();
  for(int   i=0;i <1000;i++)
    for(int   j=0;j <1000;j++)
      for(int   k=0;k <1000;k++)
          z[i]=calc1(x[j],y[k]);
  cout < < "NOT   USING   INLINE: " < <(clock()-t)/CLK_TCK < < "seconds\n ";
      t=clock();
        for(int   i=0;i <1000;i++)
          for(int   j=0;j <1000;j++)
            for(int   k=0;k <1000;k++)
              z[i]=calc2(x[j],y[k]);
  cout < < "USING   INLINE: " < <(clock()-t)/CLK_TCK < < "seconds\n ";                    
  getchar();
  }

书上得的结果是没有内联的函数是8.281秒
有内联的函数是2.437秒.
我的机器得出的两个函数全是10秒,晕死我了
谁能帮我解决一下啊...先谢谢拉.

------解决方案--------------------
如果加上了优化,有可能你的那个函数会被自动变成内联

所以你可以尝试直接使用没有加优化的编译命令,也不要加调试信息,
再运行可能会有不一样的结果

--恕我直言,要排除所有编译器的优化有时候不太容易,但内联是否真正内联,
在很多编译器都是可以由你自己控制的,除非你的内联实在不合理

(一个例子是,如果你的内联是一个递归函数,那么当递归到一定程度以后,
或者说递归层数超过了限制,那么编译器还是使用非内联的办法,避免二进制代码的无节制膨胀)