이러 저러한 사정으로 블로그를 방치하다가...;
앞으로 다수에 걸쳐서 포스트 할 내용은 코딩 습관 시리즈이다 ^^;
어쩌면 사소한 부분이기도 하지만 이렇게 코딩습관을 들인다면, 실제 어플리케이션
성능에서도 많은 향상을 거두기도 한다.
오늘은 많이 사용하는 for 루프이다.
case #1
------------------------------------------------------------------------------
for (int i=0; i<vo.size(); i++) {
// biz logic
}
case #2
------------------------------------------------------------------------------
int size = vo.size();
for (int i=0; i<size; i++) {
// biz logic
}
for (int i=0; i<size; i++) {
// biz logic
}
case 1과 case 2가 있는데 차이점은 무엇일까?
실제로 해당 어플리케이션에 부하 테스트를 하면 명확하게 차이가 발생하게 된다.
특히 vo.size(); 이부분에 로직에 따라 상당한 차이를 보이게 된다.
for 루프에서 조건절에 메소드를 사용하면 for루프를 돌때마다 해당 메소드를 호출한
결과를 가지고 조건을 검사하기때문에 어플리케이션이 느려지게 된다.
따라서, case #1과 같은 코딩습관을 버리고, case #2와 같이 별도의 변수를 통해 for 루프의
조건절을 처리하는게 어플리케이션 성능상 좋다..
사소하면서 어쩌면 이게 모야? 하기도 하지만;;;
이런 사소한것 하나 하나가 어플리케이션 튜닝의 첫걸음이다..
오늘부터라도 코딩의 습관을 바꾸삼~~~ ^^;
No comments:
Post a Comment