gcc - 在 GCC 中实现分支重新排序

标签 gcc compiler-construction linux-kernel profiling compiler-optimization

分支重新排序是一种配置文件引导的优化。 GCC 支持吗?如果是,实际上在哪里/如何实现探测/仪器?

我看到 Linux 内核有一个具有 2 个级别的“分支分析”跟踪器:可能/不太可能和“所有 if() 构造”?内核如何依赖 GCC 来实际实现这两个选项?探测/分析是如何实现的,内核是如何读取数据的?

最佳答案

默认情况下,GCC 支持 if 的第一部分(它表现得好像 if 会成功,而 else 不成功),但您可以使用 __builtin_expect强制分支预测。

关于gcc - 在 GCC 中实现分支重新排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9448646/

相关文章:

c - 如何阻止 Cygwin 下的 gcc 将 ".exe"添加到已编译的可执行文件中?

c - Win Vista - dosbox - gcc - Hello World - 控制台应用程序未运行

c - 在代码块中出现 "implicit declaration of function"错误

java - 是否可以在eclipse中有一个java程序来编译java以外的其他语言?

linux - 操作系统如何知道要调用哪个设备驱动程序?

c - API用于检查有关CPU、内存、网络、NAT表使用情况的信息

你能用整数运算代替浮点除法吗?

c - C语言是否强加了全局链接?

c - 什么是驱动程序?

linux - __NR_accept 的定义在哪里?