2012-01-11 7 views

답변

2

반대로 최적화 컴파일러는 최신 CPU에 대해 더 많은 것을 얻습니다. 자동 벡터화는 코드를 몇 배 빠르게 만듭니다. 현대 지침 세트는 또한 최적화 기회를 제공합니다 (예 : x86의 조건부 분기 대신 CMOV 사용).

성능 차이가 좁혀지는 일부 영역이 있습니다. CPU는 함수 호출을 더 빨리 수행하므로 함수 인라이닝은 이전만큼 유익하지 않을 수 있습니다. 루프 풀기는 때때로 코드를 조금 느리게 만듭니다. 그러나 대부분의 경우 컴파일러 최적화와 CPU 최적화는 서로 직교합니다. CPU는 루프 퓨전 또는 공통 서브 표현식 제거를 수행 할 수 없습니다. 컴파일러는 동적 명령어 스케줄링, 분기 예측 또는 데이터 프리 페치에 대한 좋은 대안을 제공 할 수 없습니다.

관련 문제