具有不同性能的相同目标文件

时间:2014-09-18 07:37:45

标签: file object gcc arm

我正在使用ARM cortex A9平台来测量某些算法的性能。更具体地说,我使用clock()函数(time.h)测量一个算法的执行时间。我在调用算法之前和算法返回后立即使用后一个函数。

 .... 
 ....
 ....
 start=clock(); 
 alg();
 end=clock(); 
 ...
 ...
 ...

然后我使用完全相同的选项编译代码,并生成两个不同的目标文件。第一个名为n,第二个名为nn。在ARM平台上,我在一个核心中运行我的代码。所有其他任务'亲缘关系都设置为其他核心。目标文件n返回0,12秒,而目标文件nn返回0.1秒。我比较了两个二进制文件,但它们没有区别。我注意到如果我给大于1个字母的目标文件命名,那么我的算法执行时间总是更少。此外,如果我运行n.c文件,然后重命名并再次运行它,我也会得到不同的性能数字。

你能不能给我一些想法为什么会这样?提前致谢

P.S.1:我正在使用gcc 4.8.1交叉编译器。

P.S.2:我用我的代码编译代码         arm-none-linux-gnueabi-gcc -mthumb -march = armv7-a -mtune = cortex-a9 -mcpu = cortex-a9 -mfloat-abi = softfp -mfpu = neon -Ofast code.c -o n

0 个答案:

没有答案