您对NHibernate验证器性能了解多少?我打算使用它,但它使用反射,我担心性能......
答案 0 :(得分:7)
如果你拒绝运行.net代码只是因为它使用了反射,那么你将只剩下很少的比特来运行。使用反射不意味着重要的性能损失。除非您必须在紧密循环中运行某些反射代码或者必须在低功耗处理器(可能是移动设备)上运行,或者使用不当,否则反射通常不会对整体应用程序性能造成重大影响。即便如此,反射通常也会被缓存,因此每次操作只会发生一次。在NHibernate.Validator的具体案例中,大多数(全部?)反射工作仅在启动时发生。
如果您知道自己有特殊的性能要求,请对其进行衡量,就像其他所有要求一样。