具体代码。start=time。clock()run_fun()end=time。clock()printend-start这种算法只计算了程序运行的CPU时间。
我们知道为了提高代码的运行速度,我们需要对书写的python代码进行性能测试,而代码性能的高低的直接反馈是电脑运行代码所需要的时间。
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
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)