cpu-architecture - 动态分支预测什么时候有用?
问题描述
对于静态分支预测,总是假设分支没有被采用,而对于动态分支预测,如果之前已经采用了分支,那么它更有可能再次被采用。但是我想不出一个有用的情况?什么应用程序将从中受益?为什么不只使用静态分支预测?
解决方案
boolean b = compute something;
:
for (int j=0; j<1000000; j++)
if (b) one statement;
else another statement;
这if
将导致每次都有相同的采用/未采用结果的条件分支,但这可能会因一次运行而异。
(我知道通过if
控制几个 if-free for 循环可以更好地编写代码,但这不是重点)
推荐阅读
- node.js - 使用 PM2 运行自定义脚本
- android - 已解决:GL 上下文在 MotionEvent 之后不会创建任何新的 GL 对象
- node.js - Kafka(kafka-node)消费者组接收来自所有分区的消息
- css - 求解三个滑块的列之间的空间 (DIVI)
- fortran - 在单独的文件中构造 Fortran 派生类型
- matplotlib - 删除每个 2nd xtick 标签仅适用于前 6 个刻度
- ruby-on-rails - Rails - Build 会影响创建多少子记录吗?
- html - 我可以破解 Rails 服务器中 HTML 页面的一部分吗
- python - 如何使用带有 python、selenium 和 chromedriver 的 Brave 网络浏览器?
- javascript - 从单独的 JavaScript 文件调用 PHP 文件中的方法