我敢打赌,编译器不会尊重你的请求.假设您有一个局部变量,并且递归调用该函数100次.如果要尊重所有自动变量'register'关键字,则只需要100个硬件寄存器(所有变量在第100次调用时都是活动的)
性能是一个难题.分析程序在哪里花时间并尝试在那里进行优化,但要谨慎:某些决策可能无法获得收益,有些决策最终会导致性能下降.正如之前提到的,编译器非常擅长他们的工作.将变量强制转换为寄存器意味着要使用的其余变量少一个寄存器.
小智 6
不,我认为它可能根本没有效果.现代编译器在调度寄存器使用方面通常比人类好得多,并且可能会忽略"register"关键字.
话虽如此,找出的唯一真正方法是编写一些代码并使用register关键字测量其性能,如果没有它 - 代码更改是微不足道的.
| 归档时间: |
|
| 查看次数: |
1354 次 |
| 最近记录: |