본문 바로가기
개발/java

System으로 연산 소요 시간 구하기

by 가시죠 2021. 1. 18.
반응형

System 클래스를 사용하여 특정 작업 시간을 구할 수 있다.

System.currentTimeMillis()는 1000분의 1초로 밀리세컨이라고 한다.

특정 작업 시작 전 현재 밀리세컨과 종료 후 현재 밀리세턴을 저장하고 빼기 후 나누기 1000을 하면 작업에 소요된 초를 구할 수 있다.

 

아래 예제는 String과 StringBuffer에 문자열을 각각 10만번씩 더한 작업의 소요 시간을 출력하는 예제이다.

package com.tistory.hitomis;

public class SystemClassTest {
    public static void main(String[] args) {
        // String과 StringBuffer를 선언한다.
        String string = "";
        StringBuffer stringBuffer = new StringBuffer();

        // 시작시간을 저장한다.
        long time1 = System.currentTimeMillis();
        // for문을 10만번 돌면서 String에 값을 더해준다.
        for(int i= 0; i<100000; i++) {
            string += i;
        }
        // 종료시간을 저장한다.
        long time2 = System.currentTimeMillis();

        // 종료시간에서 시작시간을 빼고 초로 출력한다.
        curTime(time2-time1);

        // 시작시간을 저장한다.
        long time3 = System.currentTimeMillis();
        // for문을 10만번 돌면서 StringBuffer에 값을 더해준다.
        for(int i= 0; i<100000; i++) {
            stringBuffer.append(i);
        }
        // 종료시간을 저장한다.
        long time4 = System.currentTimeMillis();

        // 종료시간에서 시작시간을 빼고 초로 출력한다.
        curTime(time3-time4);

    }

    /**
     * 파라메터로 받은 long 값에 만을 나누어 화면에 출력 
     * @param curTime
     */
    public static void curTime(long curTime) {
        System.out.println("second is "+ curTime / 1000);
    }
}

 


실행결과

# 컴퓨터 성능에 따라 다르게 표시될 수 있다.
second is 12
second is 0
반응형

댓글