C语言中如何输出显示程序的运行时间? 望赐教!

C语言中如何输出显示程序的运行时间? 望赐教!,第1张

BOOL QueryPerformanceFrequency(LARGE_INTEGER *lpFrequency)可以返回硬件支持的高精度计数器的频率。先调用QueryPerformanceFrequency()函数获得机器内部计时器的时钟频率。接着在需要严格计时的事件发生前和发生之后分别调用QueryPerformanceCounter(),利用两次获得的计数之差和时钟频率,就可以计算出事件经历的精确时间

#include "stdafx.h"

#include <windows.h>

#include <time.h>

#include  "process.h"

#define random(x) (rand()%x)

int _tmain(int argc, _TCHAR* argv[])

{

    LARGE_INTEGER fre = { 0 }  //储存本机CPU时钟频率

    LARGE_INTEGER startCount = { 0 }

    LARGE_INTEGER endCount = { 0 }

    QueryPerformanceFrequency(&fre)//获取本机cpu频率

    //开始计时

    QueryPerformanceCounter(&startCount)

    //运算

    

    for (int i = 0 i < 10000000 i++)

    {

        float fTem1 = random(100)*random(1000)*random(10000)*random(100000)

    }

    //结束计时

    QueryPerformanceCounter(&endCount)

    //计算时间差

    double dTimeTake = ((double)endCount.QuadPart - (double)startCount.QuadPart) / (double)fre.QuadPart

    printf("用时%f\n", dTimeTake)

    system("pause")

    return 0

}

1、在程序最开始的地方获取一下系统当前时间并保存;

2、在程序结束的地方获取一下系统当前时间并保存;

3、两者相减即为程序运行时间,将其打印出来便可。

参考代码如下:

#include <stdio.h>

#include <time.h>

void main()

{

int i

clock_t t1 , t2

t1 = clock()

for (i=0i<1000000000i++)

t2 = clock()

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

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/7765075.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-09
下一篇 2023-04-09

发表评论

登录后才能评论

评论列表(0条)

保存