第一种是以毫秒为单位计算的。
[java] view plain copy
//伪代码
long startTime=System.currentTimeMillis() //获取开始时间
doSomeThing() //测试的代码段
long endTime=System.currentTimeMillis() //获取结束时间
System.out.println("程序运行时间: "+(end-start)+"ms")
第二种是以纳秒为单位计算的。
[java] view plain copy
//伪代码
long startTime=System.nanoTime() //获取开始时间
doSomeThing() //测试的代码段
long endTime=System.nanoTime() //获取结束时间
System.out.println("程序运行时间: "+(end-start)+"ns")
包含所需的包: import java.lang.System
c++计算程序运行时间:
一、clock()计时函数:
clock()是C/C++中的计时函数,而与其相关的数据类型是clock_t。clock函数定义如下:clock_t clock(void) 简单而言,就是该程序从启动到函数调用占用CPU的时间。这个函数返回从“开启这个程序进程”到“程序中调用clock()函数”时之间的CPU时钟计时单元(clock tick)数,在MSDN中称之为挂钟时间(wal-clock);若挂钟时间不可取,则返回-1。其中clock_t是用来保存时间的数据类型。
二、相关定义:
在time.h文件中,我们可以找到对clock_t()的定义:#ifndef _CLOCK_T_DEFINEDtypedef long clock_t
#define _CLOCK_T_DEFINED
#endif
很明显,clock_t是一个长整形数。
在time.h文件中,还定义了一个常量CLOCKS_PER_SEC,它用来表示一秒钟会有多少个时钟计时单元,其定义如下:#define CLOCKS_PER_SEC ((clock_t)1000)
三、使用实例:
//计算一段程序运行的时间
#include<iostream>
#include<ctime>
using namespace std
int main()
{
clock_t startTime,endTime
startTime = clock()//计时开始
for (long i = 0i <2147483640i++)
{
i++
}
endTime = clock()//计时结束
cout <<"The run time is: " <<(double)(endTime - startTime) / CLOCKS_PER_SEC <<"s" <<endl
system("pause")
return 0
}
//注释在:VC++6.0中可以用CLK_TCK替换CLOCKS_PER_SEC。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)