java에서 로직의 수행시간을 출력하려면 System.currentTimeMillis() 메소드를 활용하면 됩니다.
System.currentTimeMillis() 는 "1970-01-01 00:00:00.000" 부터 현재까지 지난 시간을 밀리세컨드로 출력해줍니다.
2019년 10월 16일은 1970년 1월 1일부터 49년 10개월 15일이 지났습니다.
System.currentTimeMillis() 함수는,
49년 10개월 15일을 년->월->일->시>분>초> 최종적으로 밀리초로 변환한 값을 우리에게 출력해주게 됩니다.
메소드 설명도 확인 할 수 있습니다.
프로그램의 실행시간은 해당 프로그램의 시작, 종료 시점에 각각 System.currentTimeMillis() 를 호출해
밀리세컨드값의 차이를 확인해보면 됩니다.
아래 예시 코드를 확인해보겠습니다.
for문 실행 전 start변수에 현재시간의 밀리세컨드 값을 저장합니다.
for문 실행 후 end변수에 for문종료시점의 밀리케선드 값을 저장합니다.
이렇게 되면 end의 값은 start보다 1970년으로부터 더 먼시간이기 때문에
그 차이를 구하면 for문 시작후 얼마나 지났는지 확인 할 수 있습니다.
밀리세컨드초이기 때문에 1000으로 나눠주면, 실행시간을 초단위로 나타낼 수 있습니다.
1000, 60, 60, 24 ,365로 나눠나가면 분단위, 시단위 값도 구할 수 있겠네요.
package com.supercoding;
import java.util.ArrayList;
import java.util.Random;
public class TimeCheck {
public static void main(String[] args) {
long start = System.currentTimeMillis();
ArrayList a = new ArrayList();
for(int i=0;i<10000000;i++){
a.add(new Random().nextInt());
}
long end = System.currentTimeMillis();
System.out.println("start : " + start); //시작시간의 밀리세컨드
System.out.println("end : " + end); //종료시간의 밀리케선드
System.out.println( "실행 시간 : " + ( end - start )/1000.0 +"초"); //최종 실행시간
}
}
LIST
'Java > 기본' 카테고리의 다른 글
java 멀티쓰레드 간단 테스트 (0) | 2019.10.20 |
---|---|
[java] 자바 파일 읽고 쓰기 example (FileWriter,FileReader) (1) | 2019.10.16 |
[java] 오버로딩, 오버라이딩 (overloading, overriding) (0) | 2019.10.03 |
[java] try catch with resources Exception 예외처리 (0) | 2019.10.03 |
[java] split() example (자바 스플릿 함수 예제, 문자열 잘라서 배열로 만들기) (0) | 2019.10.01 |
최근댓글