【发布时间】:2015-11-14 14:39:19
【问题描述】:
来自https://isocpp.org/wiki/faq/inline-functions#inline-and-perf,
内联可能会导致内部循环跨越多行 内存缓存,这可能会导致内存缓存抖动。
让我们考虑另一种选择,该函数不是内联的。然后在函数将控制权返回给循环之后,也会发生内存缓存未命中。此外,还需要从堆栈中压入和弹出寄存器。
考虑到上述事实,内联版本会比非内联版本更快[排除由于膨胀的可执行文件大小和其他因素导致的页面错误],即使内存缓存未命中。
【问题讨论】:
标签: c++ function caching inline