의도적으로 특정 방법으로 코드를 작성하여 분기 예측자가 대부분의 경우에 적용될 옵션을 선택하도록 할 수 있습니까? 예를 들어 오류는 리소스가로드되었는지 여부를 확인합니다. 이것이 가능한 경우 어떻게 이것을 당신의 이익에 사용할 수 있습니까? 당신은 GCC를 사용하는 경우분기 예측을 지원할 수 있습니까?
3
A
답변
7
당신이 매크로를 사용할 수있는`가능성이()/가능성() :
likely()/unlikely() macros in the Linux kernel - how do they work? What's their benefit?
+0
"어떻게 이것을 당신의 이익에 사용할 수 있습니까?" –
1
이론적으로, 예. NO라고 효과적으로 말하기. 당신은 정말로 어떤 이득도 얻지 못할 것입니다.
현대 하드웨어가 작동하는 방식으로 CPU는 여전히 사용자가하는 일과 관계없이 모든 분기를 갈아 치울 것입니다. 그러나 그들이 동시에 그것을 할 것이기 때문에 그것은 정말로 중요하지 않습니다.
직접 해보기 위해 어셈블리 언어를 사용해야합니다. 위에 표시된 것과 같은 컴파일러 힌트는별로 도움이되지 않습니다.
관련 문제
- 1. 프로세서는 RTOS를 지원할 수 있습니까?
- 2. eager loading을 지원할 수 있습니까?
- 3. Android에서 세로 형 입력을 지원할 수 있습니까?
- 4. ngRoute는 구성되지 않은 링크를 지원할 수 있습니까?
- 5. EntityFramework는 EAV 모델을 지원할 수 있습니까?
- 6. Selenium은 Hibernate 또는 Spring을 지원할 수 있습니까?
- 7. MX51은 USB 3.0을 지원할 수 있습니까?
- 8. 새로운 지원 ELB를 지원할 수 있습니까?
- 9. 카멜레온은 블록 캐싱을 지원할 수 있습니까?
- 10. Loadrunner에서 sha256 비밀 키를 지원할 수 있습니까?
- 11. heroku가 둘 이상의 언어를 지원할 수 있습니까?
- 12. 어떤 PDL Canon IP2780이 지원할 수 있습니까?
- 13. XmlSerializer가 순환 참조를 지원할 수 있습니까?
- 14. DMG 설치 프로그램이 스크립트를 지원할 수 있습니까?
- 15. SpeechRecognizer는 다른 언어를 지원할 수 있습니까?
- 16. Spree Commerce가 "회원권"을 지원할 수 있습니까?
- 17. rsync는 일대 다 동기화를 지원할 수 있습니까?
- 18. DataObjects.NET에서 SQL ID 열을 지원할 수 있습니까?
- 19. 팀 기능으로 일정 기능을 지원할 수 있습니까?
- 20. Apache Jena가 소프트 삭제를 지원할 수 있습니까?
- 21. 버전 3.0에서 6.0까지의 iOS를 지원할 수 있습니까?
- 22. Django 1.4는 템플릿에서 elif를 지원할 수 있습니까?
- 23. Android Wear가 애니메이션을 지원할 수 있습니까?
- 24. 코드 서명자가 인라인 함수를 지원할 수 있습니까?
- 25. Squeak VM이 실시간 GC를 지원할 수 있습니까?
- 26. SSRS는 멀티 테넌트 사용을 지원할 수 있습니까?
- 27. MySQL이 데이터베이스 전자 메일을 지원할 수 있습니까?
- 28. DBMS가 여러 DSL 언어를 지원할 수 있습니까?
- 29. NivoSlider가 img 대신 div를 지원할 수 있습니까
- 30. HttpWebRequest는 토큰 기반 인증을 지원할 수 있습니까?
왜 많은 언어로 태그를 지정 했습니까? C에 대한 대답은 Java에 대한 대답과 다를 것입니다. –
답변도 하드웨어에 달려 있습니까? –
어떻게 악용됩니까? 분기 예측은 버그가 아닙니다. –