해당 포스트는 "자바 성능 튜닝 이야기" 책의 내용을 요약한 것이다.



※ 조건문에서의 성능

: if문과 switch 문의 경우 if문 안에서 복잡한 연산처리를 하지 않는 이상 많은 성능 저하를 발생한다고 보기 어렵다. 다만 switch의 조건문의 경우 컴파일을 거치면서 숫자로 바뀌게 되고 case문이 숫자의 작은 것부터 정렬이 된다. 그래서 case문 안에 작은 숫자부터 큰 숫자 순으로 있는 게 가장 빠르다. case문의 조건이 String 객체라면 String 객체는 hashCode 메서드에 의해서 int 형을 바뀐다. 참고 바란다.


※ 반복문에서의 성능

반복문 for, while, do-while, for-each 각각의 성능 차이는 별로 없다. 다만 반복 구문에서의 필요 없는 반복에 주의해야 하다. 예를 들어 다음 코드와 같다.

for(int i=0; i<array.size();i++)

코드를 위와 같이 작성할 시 매 반복마다 array.size()가 호출되 성능 저하를 일으킨다. 따라서 반복문에 접근하기 전에 array.size()를 미리 구해놓는 게 좋다. 즉, 반복문에서는 필요 없는 반복에 주의하는 것이 중요하다.

+ Recent posts