StopWatch

seul·2022년 12월 7일
0

공부

목록 보기
5/13

실행 속도를 측정해주는 멋쟁이 클래스 😎

⏱ StopWatch

사용법

  • StopWatch를 생성한다
  • 생성한 인스턴스를 start -> 속도를 확인하고 싶은 코드 실행 -> 인스턴스 stop
  • StopWatch의 내장 메서드 이용하여 속도 확인하기

백문이 불여일견

System.out.print();

를 진행하는 게 시간을 많이 잡아먹는다는 얘길 들어서 테스트 해보려고 합니다.

StopWatch 생성

StopWatch stopWatch = new StopWatch("Print Test");

🥨 print를 포함한 로직 실행

int sum = 0;

stopWatch.start("Print");

for(int i=0; i<10; i++) {
	sum += i;
	System.out.println(i);
}

stopWatch.stop();

1부터 10까지 더해주는데, 그때 더해주는 값을 print 해줍니다.

얼마나 걸렸는지 확인하기

System.out.println(stopWatch.shortSummary());

shortSummary()를 이용하여 짤막하게 확인할 수 있습니다
running time이 보이네요

🥨 print를 포함하지 않은 로직 실행

stopWatch.start("Not Print");
        
for(int i=0; i<10; i++) {
	sum += i;
}

stopWatch.stop();

System.out.println(stopWatch.shortSummary());

얼마나 걸렸는지 확인하기

(똑같이 shorSummary() 이용!)

차이가 크죠?

둘을 비교하고 싶다면?

System.out.println(stopWatch.prettyPrint());

prettyPrint() 함수를 이용하여 비교하면 됩니다.

얼마나 차지하는지 비교해봤는데.. 음 너무 극단적인 비교를 했나봐요 ㅎㅎ

전체 코드

@SpringBootTest
public class StopWatchTest {

    @Test
    void stop_watch_test() {
        StopWatch stopWatch = new StopWatch("Print Test");

        int sum = 0;

        stopWatch.start("Print");
        for(int i=0; i<10; i++) {
            sum += i;
            System.out.println(i);
        }
        stopWatch.stop();

        sum = 0;

        stopWatch.start("Not Print");
        for(int i=0; i<10; i++) {
            sum += i;
        }
        stopWatch.stop();

        System.out.println(stopWatch.prettyPrint());
    }

}

참고 url
https://sungminhong.github.io/spring/stop_watch/

profile
자존감은 일상의 성실함으로부터 온다

0개의 댓글