第一种是以毫秒为单位计算的。
//伪代码 long startTime=System.currentTimeMillis() //获取开始时间 doSomeThing() //测试的代码段 long endTime=System.currentTimeMillis() //获取结束时间 System.out.println("程序运行时间: "+(end-start)+"ms") //伪代码 long startTime=System.currentTimeMillis() //获取开始时间 doSomeThing() //测试的代码段 long endTime=System.currentTimeMillis() //获取结束时间 System.out.println("程序运行时间: "+(end-start)+"ms")
第二种是以纳秒为单位计算的。 //伪代码 long startTime=System.nanoTime() //获取开始时间 doSomeThing() //测试的代码段 long endTime=System.nanoTime() //获取结束时间 System.out.println("程序运行时间: "+(end-start)+"ns") //伪代码 long startTime=System.nanoTime() //获取开始时间 doSomeThing() //测试的代码段 long endTime=System.nanoTime() //获取结束时间 System.out.println("程序运行时间: "+(end-start)+"ns")
两个相减就是运行时间。启动线程之前,获取系统时间,做为开始时间,线程结束后,在线程最后再获取一次系统时间,这个时间减去刚刚上面的那个时间,就是运算时间,记录一个起始时间,记录一个结束时间,两个相减就是程序运行时间。分类: 电脑/网络 >>程序设计 >>其他编程语言问题描述:
我想计算2个算法程序运行的时间,做一下比较
JAVA中有那些计算时间函数?最好以毫秒显示出来。
我知道System.currentTimeMillis()
但是不知道为什么,几个程序运行的时间都一样,都是16ms,也不知道是我程序太小了
还是写的不对,大家还知道别的计算时间的函数没?最好在程序开始计算,到程序最后
结束,最后显示一下时间。
解析:
import java.util.*
public class RunningTime
{
public static void main(String argc[]) throws InterruptedException
{
int i=0,j=0
long k=0,begin,end,time
Date mydate=new Date()
begin=mydate.getTime()
for (i<100i++)
{
for(j<100j++)
{
Thread.currentThread().sleep(5)
k+=i*j
}
}
Date mydate2=new Date()
end=mydate2.getTime()
time=end-begin
System.out.println(begin+"运行时间为:"+time+" "+end)
}
}
计算运算时间的程序
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)