该文档recommend注册通过lambda表达式作为频繁使用的组件...为什么lambda解决得更快?
这可以产生高达10个的速度更快
Resolve()
电话
现在的改善显然有几个问题:
- 为什么呢? (编辑:澄清:我会明白,如果注册时间上升,因为你现在必须使用反射来找到正确的构造函数等等,但为什么解决时间?)
- 在哪种情况下申请/注册课程的哪些方面使这个数字上升/哪些使其下降?
- 无论如何,我们一般都在谈论什么是解决时间?像“现在需要100个而不是10个cpu周期”,或者在“正常”用例(具有按请求生命期的Web服务)中实际可测量的数字?
水泥混凝土实现总是比仿制药或反射更快。在通用用法上,很多反射正在使用的背景中。而且速度较慢。 在大多数正常情况下,您无法感受到其中的差异。你可以给它发信息。由于缓慢的影响,您应该经常避免使用反射或泛型,因此需要重用已使用的代码(如算法)。 但是:“过早优化是万恶之源”。让它起作用。如果需要的话,让它工作得很快。 – Ben
@Ben是的,我意识到这一点,但我会认为这是花费在注册时间,而不是解决时间(因为一旦我找到了正确的构造函数 - 可以在注册时完成 - 我可以调用'''Activator .CreateInstance''')。这让我感到困惑。 – FrankyBoy