본문 바로가기
CS지식

[Log이슈] system.out.println() 사용을 줄여야 하는 이유 (자바 성능 튜닝)

by Alkaloid 2022. 2. 2.
반응형

저를 포함한 많은 분들이 로그를 찍기 위해 System.out.println() 메서드를 사용합니다.

하지만 편할수록 단점이 존재하죠.

그 단점은 시스템 성능에 영향을 주는 경우가 발생한다는 것입니다.

 

무조건 준다는것이 아닌 그런 경우가 있다는 거죠. 하지만 개발을 한다면 그러한 경우의 수는 모두 없앨수 있으면 없애는 게 나중 유지보수를 위해 좋다고 생각합니다.

그럼 System.out.println()가 왜 성능에 영향을 줄까요?

해당 메소드는 리소스를 많이 사용합니다. 커널 CPU를 점유 하고 있기 때문이죠.

실행하면 출력이 되거나 저장이 될때까지, 프린트 하려는 부분은 대기를 합니다.

그렇게 되면 대기시간이 발생하게 됩니다. 이 대기 시간은 시스템속도에 의존적이기 때문에 성능에 차이가 발생합니다.

-> System.out.println()메소드는 파일이나 콘솔에 로그를 찍을 경우에는 완전히 출력되거나 저장될 때까지

어플리케이션이 대기시간이 발생한다

 

그리고 우리는 해당 메소드를 로그를 찍기위해 사용하고, 정작 시스템 운영시 사용을 하지 않기 때문에 운영서버에는 계속 남아있게 되죠.

 

그렇기 때문에 사용을 자제하는것을 습관하 하는게 좋을거 같습니다.

반응형