Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我发现将全局变量移动到本地范围可以节省堆栈分配。
节省堆栈分配是否也会提高程序的性能和速度?如果是这样,你能给我一些显示这种改进的公式吗?
将全局变量移动到本地范围实际上会增加堆栈分配要求。将全局变量移动到本地范围将减小可执行文件的大小。也许这就是你的意思。
通常,将变量从全局范围移动到局部范围,反之亦然,可能几乎没有性能差异。如果任何使用本地范围的东西都会有更好的性能,因为你会有更好的缓存使用模式。
但是,性能永远不应成为在全局范围和局部范围之间进行选择的驱动标准。始终根据语义做出选择。总是更喜欢本地范围而不是全局范围,在语义上这样做是合理的。