2016-07-04 4 views
3

의도적으로 특정 방법으로 코드를 작성하여 분기 예측자가 대부분의 경우에 적용될 옵션을 선택하도록 할 수 있습니까? 예를 들어 오류는 리소스가로드되었는지 여부를 확인합니다. 이것이 가능한 경우 어떻게 이것을 당신의 이익에 사용할 수 있습니까? 당신은 GCC를 사용하는 경우분기 예측을 지원할 수 있습니까?

+1

왜 많은 언어로 태그를 지정 했습니까? C에 대한 대답은 Java에 대한 대답과 다를 것입니다. –

+1

답변도 하드웨어에 달려 있습니까? –

+2

어떻게 악용됩니까? 분기 예측은 버그가 아닙니다. –

답변

1

이론적으로, 예. NO라고 효과적으로 말하기. 당신은 정말로 어떤 이득도 얻지 못할 것입니다.

현대 하드웨어가 작동하는 방식으로 CPU는 여전히 사용자가하는 일과 관계없이 모든 분기를 갈아 치울 것입니다. 그러나 그들이 동시에 그것을 할 것이기 때문에 그것은 정말로 중요하지 않습니다.

직접 해보기 위해 어셈블리 언어를 사용해야합니다. 위에 표시된 것과 같은 컴파일러 힌트는별로 도움이되지 않습니다.

+0

답변보다 댓글을 더 많이 읽습니다. 그냥 '예'라고 말하는 대신 '이론적으로'할 수있는 방법을 설명 할 수 있습니까? – Tas

+1

나는 '그렇다'고 말하지 않았다. – Yudrist

관련 문제