您的位置:首页 > 编程语言

精确记算程序的运行时间或者某段代码的运行时间

2014-04-01 20:20 323 查看

#include<time.h>

#include<stdio.h>

#include<stdlib.h>

#include<windows.h>

int main()

{

//精确到秒 ==========================================

time_t t1,t2;

time(&t1);

//此处放置要测试的代码

Sleep(1000);//延时

time(&t2);

printf("%d %d %d秒\n",t1,t2,t2-t1);

//精确到毫秒 ========================================

clock_t c1,c2;

c1=clock();

//此处放置要测试的代码

Sleep(100);//延时

c2=clock();

printf("%d %d %d毫秒\n",c1,c2,c2-c1);

//精确到 0.000001毫秒 ===============================

LARGE_INTEGER litmp;

LONGLONG start, end;

double dft, dff, dfm;

QueryPerformanceFrequency(&litmp);//获得时钟频率

dff = (double) litmp.QuadPart;

QueryPerformanceCounter(&litmp);//获得初始值

start = litmp.QuadPart;

//此处放置要测试的代码

Sleep(1000);//延时

QueryPerformanceCounter(&litmp);//获得终止值

end = litmp.QuadPart;

dfm = (double) (end - start);

dft = dfm / dff;//获得对应的时间值,单位秒

printf("%lf毫秒\n",dfm/dff*1000);

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: