【发布时间】:2015-10-25 02:10:16
【问题描述】:
通常,人们谈到在程序中调用函数会产生一定量的开销,或者是不可避免的一组额外的关注点和情况。与没有函数调用的类似程序相比,这可以更好地解释和比较吗?
【问题讨论】:
-
你指的“这些套路”是什么?
-
内联并不总是可能的。递归函数、虚函数和函数指针都是示例。 (有时它们仍然可以内联,但不是在一般情况下)
-
同样重要的是要注意,输入参数有时是常量值(硬编码参数,例如循环计数,在编译时已知,但因调用站点而异)。
inlineing 此类函数会将这些常量值暴露给编译器,从而实现更积极的优化。
标签: c performance optimization memory-management overhead