为什么Linux内核代码中有这么多的likely和unlikely
在阅读Linux内核代码时,我们可以看到在if/else结构中,都用到了likely和unlikely这样的判断,其实不只是Linux内核,很多开源代码,比如DPDK,suricata等等,都用到了它们。ps: 这里两次取反,是把x的表达式变成一个bool类型的值。那如果我们深究一下,为什么这些开源代码都热衷于在if后面加这么个宏定义呢?使用它到底有什么好处呢?碰到问题,我们习惯通过搜索引擎找答案,搜索引擎一般给出的答案是:通过likely和unlikely告诉编译器哪个条件分支发生的可能性更大。
原创
2023-07-23 16:58:05 ·
326 阅读 ·
0 评论