首页 > 解决方案 > 现代 x86-64 CPU 是否推测分支目标?

问题描述

给定以下代码:

func_pointer functions[] = { &func1, &func2, ..., &funcn }

void dispatch(int i) {
   functions[i]();
}

目标的地址在编译时是未知的。如果函数 dispatch() 被多次调用且参数 i 的值相同,CPU 能否推测调用的目的地?

标签: performancex86-64branch-prediction

解决方案


推荐阅读