Nói chung, thời gian trôi qua (elapsed time) là thời gian từ điểm bắt đầu đến điểm kết thúc của một sự kiện. Dưới đây là cách tìm thời gian trôi qua tính bằng nano-giây trong Java:
Phương thức nanoTime() trả về thời gian hiện tại tính bằng nano-giây. Để tìm thời gian trôi qua cho việc thực thi một phương pháp tính bằng nano-giây:
- Lấy thời gian hiện tại bằng phương thức
nanoTime(). - Thực thi phương pháp mong muốn.
- Lấy lại thời gian hiện tại bằng phương thức
nanoTime(). - Cuối cùng, tìm hiệu giữa giá trị kết thúc và giá trị bắt đầu.
Ví dụ
public class Example {
public void test() {
int num = 0;
for (int i = 0; i <= 50; i++) {
num = num + i;
System.out.print(num + ", ");
}
}
public static void main(String args[]) {
// Thời gian bắt đầu
long begin = System.nanoTime();
// Bắt đầu đo
new Example().test();
// Thời gian kết thúc
long end = System.nanoTime();
long time = end - begin;
System.out.println();
System.out.println("Thời gian trôi qua: " + time + " nano-giây");
}
}
Kết quả
0, 1, 3, 6, 10, 15, 21, 28, 36, 45, 55, 66, 78, 91, 105, 120, 136, 153, 171, 190, 210, 231, 253, 276, 300, 325, 351, 378, 406, 435, 465, 496, 528, 561, 595, 630, 666, 703, 741, 780, 820, 861, 903, 946, 990, 1035, 1081, 1128, 1176, 1225, 1275, Thời gian trôi qua: 1530200 nano-giây