리눅스 커널의 likely / unlikely 매크로
2012. 2. 4.
*출처: http://superkkt.com/391 리눅스 커널에는 likely와 unlikely라는 매크로가 있다. 이 두 매크로는 컴파일러에게 분기문에 대한 힌트를 제공하는 역할을 한다. 즉, "어떤 if 구문에서 결과가 이렇게 나올것 같다."라는 힌트를 컴파일러에게 주어서, 컴파일러가 코드를 최적화 하는데 도움을 준다. 짧게 요약하면 수동 분기예측을 하는 것인데, likely일것 같은 코드를 분기문의 바로 다음에 위치하도록 해서 CPU의 파이프라이닝이 계속 유효한 상태로 만들어줘서 성능 향상을 도모한다. 자세한 내용은 아래 사이트를 참조한다. http://kerneltrap.org/node/4705