연장챙겨

중첩 반복문 효율성 본문

자바

중첩 반복문 효율성

계속까먹어 2021. 2. 13. 16:22

2중 포문으로 예를 들어보면

 

100000번 도는 포문이 10번도는 포문을 돌린다고 가정

겉 포문이 한번 돌때마다 안쪽 포문을 돌기위한 100000번 메모리 할당

for(int i = 0; i < 100000; i++) {
    String str = null;

    for(int j = 0; j < 10; j++) {
        str = new String("");
    }
}

 

 

10번 도는 포문이 100000번 도는 포문을 돌린다고 가정

겉 포문이 한번 돌떄마다 안쪽 포문을 돌기위한 10번 메모리 할당

for(int i = 0; i < 10; i++) {
    String str = null;

    for(int j = 0; j < 100000; j++) {
        str = new String("");
    }
}

 

위 소스는 예시일 뿐이며

실제로는 좀 더 많은 작업을 필요로 할 것이다

총 처리 개수는 같지만 자바 객체에 대한 메모리 할당방식을 생각해보면

어림잡아 생각해 볼 수 있다

 

요약하자면

같은 작업이라면 작은 반복문이 큰 반복문을 돌리는게 더 빠르다

 

테스트는 이거저거 해봤지만 부족하다고 판단하여

좀 더 해보고 다시 보완 작성하도록 하겠다

'자바' 카테고리의 다른 글

삽입 정렬(Insertion Sort)  (0) 2025.03.30
버블 정렬(Bubble Sort)  (2) 2025.03.28
선택 정렬(Selection Sort)  (2) 2025.03.27
동작 파라미터화(Behavior Parameterization)  (0) 2023.09.07
자바 txt파일 decoding Exception  (0) 2022.05.03