2

我发现将全局变量移动到本地范围可以节省堆栈分配。

节省堆栈分配是否也会提高程序的性能和速度?如果是这样,你能给我一些显示这种改进的公式吗?

4

1 回答 1

2

将全局变量移动到本地范围实际上会增加堆栈分配要求。将全局变量移动到本地范围将减小可执行文件的大小。也许这就是你的意思。

通常,将变量从全局范围移动到局部范围,反之亦然,可能几乎没有性能差异。如果任何使用本地范围的东西都会有更好的性能,因为你会有更好的缓存使用模式。

但是,性能永远不应成为在全局范围和局部范围之间进行选择的驱动标准。始终根据语义做出选择。总是更喜欢本地范围而不是全局范围,在语义上这样做是合理的。

于 2013-06-29T20:08:56.167 回答