Joh*_*ohn 2 c++ optimization inline
内联不同类型的功能有什么好处?在围绕它们开发时我需要注意哪些问题?我对分析器不是很有用,但是许多不同的算法应用程序似乎可以将速度提高8倍,如果你可以提供对我有用的任何指针.
内联函数经常被过度使用,后果非常严重.内联向编译器指示可以考虑将函数用于内联扩展.如果编译器选择内联函数,则不会调用该函数,而是将其复制到位.性能增益来自于避免函数调用,堆栈帧操作和函数返回.收益可能相当大.
请注意,他们可以增加程序大小.它们可以通过减少调用者的引用位置来增加执行时间.当大小增加时,调用者的内部循环可能不再适合处理器高速缓存,从而导致不必要的高速缓存未命中以及随之而来的性能损失.内联函数也会增加构建时间 - 如果内联函数发生更改,则必须重新编译世界.一些准则:
| 归档时间: |
|
| 查看次数: |
476 次 |
| 最近记录: |