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

标签 c++ inline

<分区>

如果我内联一个函数。 函数调用主体将被复制,而不是向它发出 call()。 为什么这会导致性能不佳?

编辑:那么由于大函数导致的缓存未命中怎么办? 为什么存在“仅内联函数最多 3 行”的经验法则?

最佳答案

可能存在一种边缘情况,即内联函数会增加程序大小或移动程序的位,从而导致缓存未命中发生在以前没有发生的地方。这并不常见,因为缓存旨在处理最常见的情况,并且与大多数热点相比相当大。

关于c++ - 为什么强制内联函数会导致性能不佳?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27948903/

相关文章:

c++ - std::filesystem::path 和 std::string 之间的隐式转换,应该发生吗?

CKEditor内联工具栏位置

c++ - WinAPI 创建文件函数

c++ - 具有昂贵或已删除的默认构造函数的最小 n 个元素

javascript - 当子项调整高度时,内联 block 自动适应子项宽度

mysql - 非常慢的 MySQL 代码(内联和 JOINS)

c++ - 不是内联过早优化吗?

java - Java 中的内联对象实例化和转换

c++ - 如果我传递临时引用并将其存储为类成员会怎样?

c++ - 仅在两个成员都参数化后使用模板模板参数构建错误