Java 是否有可能帮助分支预测?
您是否可以有意识地以特定的方式编写代码,以便分支预测器可以选择大多数情况下都会出现的选项。例如,错误检查是否加载了资源。如果这是可能的,您如何利用这一优势?如果您使用的是GCC,您可以使用宏“可能()/不可能()”:Java 是否有可能帮助分支预测?,java,c++,c,branch-prediction,Java,C++,C,Branch Prediction,您是否可以有意识地以特定的方式编写代码,以便分支预测器可以选择大多数情况下都会出现的选项。例如,错误检查是否加载了资源。如果这是可能的,您如何利用这一优势?如果您使用的是GCC,您可以使用宏“可能()/不可能()”: 理论上,是的。有效地说,不。你不会真的得到任何好处,你自己试试吧 按照现代硬件的工作方式,无论你做什么,你的CPU仍然会磨掉所有的分支。但这并不重要,因为他们会同时做 要尝试自己做这件事,您需要使用汇编语言。上面显示的编译器提示不会有太多作用。为什么要用这么多语言标记?C的答案将不
理论上,是的。有效地说,不。你不会真的得到任何好处,你自己试试吧 按照现代硬件的工作方式,无论你做什么,你的CPU仍然会磨掉所有的分支。但这并不重要,因为他们会同时做
要尝试自己做这件事,您需要使用汇编语言。上面显示的编译器提示不会有太多作用。为什么要用这么多语言标记?C的答案将不同于Java的答案。答案可能也依赖于硬件吗?这是如何利用的?分支预测不是一个bug…@ScottHunter“利用”在IT安全之外有一个含义,即“利用某些东西为您带来好处”。@immibis:我指的是“利用”标签,它与您所指的含义不同。这更像是一个评论,而不是一个答案。你能解释一下你如何“理论上”做到这一点,而不是仅仅说“是”。我没有说“是”,我说了“否”。你如何利用这一点为自己带来好处