GCC의 분기 예측 최적화
Intel 아키텍처는 생성된 코드에서 분기 예측에 영향을 주는 메커니즘을 제공합니다. __builtin_expect() 함수를 사용하면 GCC는 분기 예측을 특정 방식으로 강제할 수 있습니다.
__builtin_expect()의 구문은 다음과 같습니다.
long __builtin_expect (long exp, long c)
여기서:
예를 들어 강제로 다음 C 코드에서 항상 "true" 분기를 취하는 분기 예측:
if (normal) { doSomethingNormal(); } else { exceptionalCase(); }
다음 문을 사용합니다.
if (__builtin_expect(normal, 1))
사용을 단순화하려면 다음과 같이 정의하는 것이 일반적입니다. 매크로:
#define likely(x) __builtin_expect (!!(x), 1) #define unlikely(x) __builtin_expect (!!(x), 0)
그러나 다음 사항에 유의하는 것이 중요합니다.
위 내용은 GCC에서 분기 예측 최적화를 향상시키는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!