CS

루프 언롤링(Loop Unrolling)이란?

_minit 2024. 10. 23. 11:37

컴퓨터 프로그램의 성능을 최적화하는 중요한 기법 중 하나이다. 반복문을 수동으로 변경하여 반복 횟수를 줄이고, 코드의 성능을 높이는 방법이다. 주로 오버헤드를 줄이고 캐시 효율을 높이는 데 사용된다.

 

다음과 같은 반복문이 있을 때

for (int i = 0; i < 8; i++) {
    sum += array[i];
}

 

루프 언롤링을 적용하면 아래와 같다.

for (int i = 0; i < 8; i += 4) {
    sum += array[i];
    sum += array[i + 1];
    sum += array[i + 2];
    sum += array[i + 3];
}

위와 같이 루프 언롤링하면 반복 횟수가 줄어들어 오버헤드 감소가 가능하다.

728x90

'CS' 카테고리의 다른 글

프리패칭(Prefetching)이란?  (0) 2024.11.04
부동소수점에 대해서  (0) 2024.11.01
2의 보수(Two's complement)란?  (0) 2024.10.23
ISO 파일이란?  (1) 2024.10.14
인터럽트(Interrupt)란?  (1) 2024.10.10