内联函数说明(1) 来自effetive c++

本文介绍编译器如何通过内联方法来提升程序性能。内联方法的代码块被复制到调用点,局部变量和参数映射到调用方法的空间中,消除调用开销。此外还讨论了调用间优化的重要性。

编译器为内联一个方法所使用的过程是这样的:内联方法的连续代码块被复制到调用该方法的调用点处。内联

方法内的任何局部变量在块内分配。内联方法的输入参数和返回值被影射到调用方法的局部变量空间。如果内

联方法有多个返回点,则这些返回点就变成内联块尾部的分支(可怕的goto)。所有与调用有关的痕迹以及随

之即来的所有可能的性能损失都被消除了。

然而避免调用只是与内联有关的性能项的一半,调用间优化是内联性能的另一半。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值