티스토리 뷰

JAVA

[자바 성능튜닝] 조건문과 반복문

박중수 2015. 4. 13. 19:55

Switch-Case 문

Switch-Case문은 작은 숫자부터 큰 숫자 순서대로 비교하는 것이 제일 빠르다.



조건문

조건문자체는 속도에 미치는 영향이 미미하다. 가독성에 더 신경쓰자.



do-while문

public void test(List<Integer> list){

int i=0;

do{

if(list.get(i) == 10) break;

}while(true);

}


만약 list의 0번째가 10이라면 정상적인 동작을 하겠지만, 아닐 경우 무한루프를 돌며

CPU의 코어 한개를 잡아먹으므로 프로그램을 재시작해야할 수 있다. 조심하자



List를 대상으로 반복

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

//연산


이와 같이 하면 루프를 돌때마다 list.size()메소드를 호출해 성능에 영향을 주게된다.


int size = list.size();

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

//연산


이와 같이 사용하자



필요없는 메소드 호출

String str = "abcdefg";

List<Charactor> list = new ArrayList<Charactor>();

int size = list.size();


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

list.add(str.toCharArray()[i]);



위와 같이 하면 루프를 돌 때마다 쓸데없이 toCharArray() 메소드를 호출하게 된다.

이전의 예와 마찬가지로 미리 호출하여 변수에 담아두고 쓰도록하자.


댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2025/07   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
글 보관함