首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ Builder >

程序计时有关问题

2013-01-07 
程序计时问题想用C语言编一段代码对另一段代码进行计时,怎么实现?最好是C语言,越精确越好!习惯了在这个论

程序计时问题
想用C语言编一段代码对另一段代码进行计时,怎么实现?最好是C语言,越精确越好!
习惯了在这个论坛发帖,所以也将这个问题在这里发吧。
[解决办法]
::GetTickCount
[解决办法]
你要什么精度??包含time.h

 time_t tmOrg, tmNow;
 time(&tmOrg);
 Sleep(5000);
 time(&tmNow);
 ShowMessage(tmNow - tmOrg);

[解决办法]
这个是精确到ms的计时
#include <stdio.h>
#include <time.h>
int main(void)
{
int i,j,k;
clock_t start, end;
start = clock();
//sleep(1000);
for(i=0;i<10000000;i++)
  for(j=0;i<10000000;i++)
  for(k=0;i<10000000;i++);
end = clock();
printf("The time was: %f\n", (double)(end - start) / CLK_TCK);
system("PAUSE");
return 0;
这个是用rdtsc指令测试的,这个误差大。
//利用rdtsc指令计算指令执行时间


#include <stdio.h>

int get_rdtsc() {

__asm
   rdtsc

}

int main() {

int i;

for(i=0;i<10;i++) {

int t1,t2;
t1 = get_rdtsc();

sleep(1);

 t2 = get_rdtsc();

printf("t2 - t1 = %ld (%ldMHZ) ", t2 - t1, (t2-t1)/1000000);
system("PAUSE");
}


热点排行