问题描述

有时候我们需要获取某段代码的运行时间,以便和修改后的代码对比,看看新代码的性能是否得到提升

解决办法

具体解决方法为,在执行该段代码获取当前时间,执行完该段代码再次获取当前时间,后面的时间减去前面的时间即可得到程序运行的时间,时间单位越小越精确

获取当前时间一般有两种方式:

  1. 以毫秒为单位

    使用System.currentTimeMillis()

  2. 以纳秒为单位

    使用System.nanoTime()

代码实现

以毫秒为单位

Java代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
package com.ledao;

/**
* @author LeDao
* @company
* @create 2021-12-15 2:59
*/
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;

/**
* @author LeDao
* @company
* @create 2021-12-15 2:59
*/
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) + "纳秒");
}
}

结果