使用成员变量堆栈?

时间:2012-05-03 12:59:08

标签: c# .net monodevelop

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

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

2 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:2)

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

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