为什么强制内联函数会导致性能不佳?

sim*_*des 5 c++ inline

如果我内联一个函数.函数调用体将被复制,而不是向它发出一个call().为什么会导致糟糕的表现呢?

编辑:然后由于大功能而缓存未命中呢?为什么经验法则"仅存在最多3行的内联函数"?

Mar*_*som 5

可能存在边缘情况,其中内联函数可以增加程序大小或移动程序的位,使得高速缓存未命中发生在它们之前没有的位置.这并不常见,因为缓存旨在处理大多数常见情况,并且与大多数热点相比非常大.