C 测量短执行时间 time_start(); int op=0; 对于(int i=1;i

C 测量短执行时间 time_start(); int op=0; 对于(int i=1;i,c,C,,您需要在运行时和计时器代码的分辨率之间有足够的“尺度”,以获得准确和可测量的结果。最简单的解决方案是在测试的小代码段上迭代数百(或数千)次 不过,任何方法都可能会产生缓存效应,因此请确保您正在测量您实际认为自己是什么。您需要在运行时和计时器代码分辨率之间有足够的“尺度”,以获得准确和可测量的结果。最简单的解决方案是迭代数百(或数千)次在测试的一小段代码上的次数 不过,任何方法都可能存在缓存效应,因此请确保您正在测量您实际认为自己是什么。在哪个硬件体系结构和操作系统上执行测量?问题是,在大多数硬

,您需要在运行时和计时器代码的分辨率之间有足够的“尺度”,以获得准确和可测量的结果。最简单的解决方案是在测试的小代码段上迭代数百(或数千)次

不过,任何方法都可能会产生缓存效应,因此请确保您正在测量您实际认为自己是什么。

您需要在运行时和计时器代码分辨率之间有足够的“尺度”,以获得准确和可测量的结果。最简单的解决方案是迭代数百(或数千)次在测试的一小段代码上的次数


不过,任何方法都可能存在缓存效应,因此请确保您正在测量您实际认为自己是什么。

在哪个硬件体系结构和操作系统上执行测量?问题是,在大多数硬件和操作系统上,时钟的分辨率为10ms。您需要使用“性能计时器”这将取决于硬件和操作系统。请看这篇针对windows的文章:请看这个线程Linux/UNIX中有微秒分辨率的函数在哪个硬件体系结构和操作系统上执行测量?问题是,在大多数硬件和操作系统上,时钟的分辨率为10ms。您需要使用“性能计时器”将低于此值。这将取决于硬件和操作系统。请参阅此windows帖子:请参阅此线程,Linux/UNIX中有微秒分辨率的函数
time_start();

int op = 0;
for(int i = 1; i <= n; i++)
    op += arr[i]*pow(x, i);

time_stop();