问题描述
有时候我们需要获取某段代码的运行时间,以便和修改后的代码对比,看看新代码的性能是否得到提升
解决办法
具体解决方法为,在执行该段代码前获取当前时间,执行完该段代码后再次获取当前时间,后面的时间减去前面的时间即可得到程序运行的时间,时间单位越小越精确
获取当前时间一般有两种方式:
以毫秒为单位
使用System.currentTimeMillis()
以纳秒为单位
使用System.nanoTime()
代码实现
以毫秒为单位
Java代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| package com.ledao;
public class Test {
public static void main(String[] args) { long startTime = System.currentTimeMillis(); for (int i = 0; i < 10000; i++) { System.out.println(i); } long endTime = System.currentTimeMillis(); System.out.println("程序运行时间为:" + (endTime - startTime)+"毫秒"); } }
|
结果
以纳秒为单位
Java代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| package com.ledao;
public class Test {
public static void main(String[] args) { long startTime = System.nanoTime(); for (int i = 0; i < 10000; i++) { System.out.println(i); } long endTime = System.nanoTime(); System.out.println("程序运行时间为:" + (endTime - startTime) + "纳秒"); } }
|
结果