堆栈和全局变量

时间:2013-06-29 20:05:49

标签: c gcc stack global-variables

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

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

1 个答案:

答案 0 :(得分:2)

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

通常,将变量从全局范围移动到本地范围,反之亦然可能会使性能差异很小。如果使用本地作用域的任何内容将具有更好的性能,因为您将拥有更好的缓存使用模式。

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