0

一般来说,使用堆栈变量或临时成员变量更好(对于性能)?

我有一个“实时”调用的函数,并且需要一些临时变量(各种数据类型)。只使用堆栈变量(即在函数中)还是在类中使用私有成员变量更好?

4

2 回答 2

2

我的直觉是堆栈变量会更快,但这是一个真正的微优化。您必须对其进行概要分析才能确定。

于 2012-05-03T13:02:28.787 回答
2

如果仅在方法内部需要它们,请将它们作为局部方法变量保存在方法中。这主要不是速度问题(尽管“ldloc”可能比“ldarg0,ldfld”组合更省力) - 而是:范围:它减小了对象的大小,并且还允许重新进入而不会混淆.

另请注意:并非所有局部方法变量都在堆栈上;p

于 2012-05-03T13:04:01.723 回答