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
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기