请问如何详细解释likely和unlikely这两个关键字的用法和区别?
- 内容介绍
- 文章标签
- 相关推荐
本文共计683个文字,预计阅读时间需要3分钟。
目录- 什么是likely和unlikely- likely/unlikely的原理- likely/unlikely的适用条件- C++20中的likely/unlikely- likely和unlikely的意义- 为什么程序员应该关注likely/unlikely
目录
- 什么是likely和unlikely
- likely/unlikely的原理
- likely/unlikely的适用条件
- C++20中的likely/unlikely
什么是likely和unlikely
既然程序是我们程序员所写,在一些明确的场景下,我们应该比CPU和编译器更了解哪个分支条件更有可能被满足。我们是否可将这一先验知识告知编译器和CPU, 提高分支预测的准确率,从而减少CPU流水线分支预测错误带来的性能损失呢?答案是可以!它便是likely和unlikely。在Linux内核代码中,这两个宏的应用比比皆是。
本文共计683个文字,预计阅读时间需要3分钟。
目录- 什么是likely和unlikely- likely/unlikely的原理- likely/unlikely的适用条件- C++20中的likely/unlikely- likely和unlikely的意义- 为什么程序员应该关注likely/unlikely
目录
- 什么是likely和unlikely
- likely/unlikely的原理
- likely/unlikely的适用条件
- C++20中的likely/unlikely
什么是likely和unlikely
既然程序是我们程序员所写,在一些明确的场景下,我们应该比CPU和编译器更了解哪个分支条件更有可能被满足。我们是否可将这一先验知识告知编译器和CPU, 提高分支预测的准确率,从而减少CPU流水线分支预测错误带来的性能损失呢?答案是可以!它便是likely和unlikely。在Linux内核代码中,这两个宏的应用比比皆是。

