虚拟方法对性能的影响

时间:2012-03-30 04:48:22

标签: c# performance oop unit-testing

为了适应单元测试和模拟,将方法和属性声明为虚拟变为通常的做法。将虚拟化声明为非虚拟化会产生性能影响吗?

3 个答案:

答案 0 :(得分:9)

通常,不同之处在于使用Callvirt Opcode调用虚拟方法,而虚拟方法不使用标准Call Opcode。 Call Opcodes肯定比Callvirt更快,但我从来没有发现它几乎足以证明基于此做出设计决策的合理性。

Premature optimization is the root of all evil.

答案 1 :(得分:1)

不,不是真的。

这不是你会注意到的。

答案 2 :(得分:1)

我不知道具体细节,但我知道你不必为99%的应用程序担心。

btw - 如果选择Mock接口而不是类,则不需要虚拟方法。

祝你好运, 汤姆

相关问题