컴퓨터 프로그램의 성능을 최적화하는 중요한 기법 중 하나이다. 반복문을 수동으로 변경하여 반복 횟수를 줄이고, 코드의 성능을 높이는 방법이다. 주로 오버헤드를 줄이고 캐시 효율을 높이는 데 사용된다.
다음과 같은 반복문이 있을 때
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 |