分支重新排序是一种配置文件引导的优化。 GCC 支持吗?如果是,实际上在哪里/如何实现探测/仪器?
我看到 Linux 内核有一个具有 2 个级别的“分支分析”跟踪器:可能/不太可能和“所有 if() 构造”?内核如何依赖 GCC 来实际实现这两个选项?探测/分析是如何实现的,内核是如何读取数据的?
最佳答案
默认情况下,GCC 支持 if 的第一部分(它表现得好像 if 会成功,而 else 不成功),但您可以使用 __builtin_expect强制分支预测。
关于gcc - 在 GCC 中实现分支重新排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9448646/