該文檔recommend註冊通過lambda表達式作爲頻繁使用的組件...爲什麼lambda解決得更快?
這可以產生高達10個的速度更快
Resolve()
電話
現在的改善顯然有幾個問題:
- 爲什麼呢? (編輯:澄清:我會明白,如果註冊時間上升,因爲你現在必須使用反射來找到正確的構造函數等等,但爲什麼解決時間?)
- 在哪種情況下申請/註冊課程的哪些方面使這個數字上升/哪些使其下降?
- 無論如何,我們一般都在談論什麼是解決時間?像「現在需要100個而不是10個cpu週期」,或者在「正常」用例(具有按請求生命期的Web服務)中實際可測量的數字?
水泥混凝土實現總是比仿製藥或反射更快。在通用用法上,很多反射正在使用的背景中。而且速度較慢。 在大多數正常情況下,您無法感受到其中的差異。你可以給它發信息。由於緩慢的影響,您應該經常避免使用反射或泛型,因此需要重用已使用的代碼(如算法)。 但是:「過早優化是萬惡之源」。讓它起作用。如果需要的話,讓它工作得很快。 – Ben
@Ben是的,我意識到這一點,但我會認爲這是花費在註冊時間,而不是解決時間(因爲一旦我找到了正確的構造函數 - 可以在註冊時完成 - 我可以調用'''Activator .CreateInstance''')。這讓我感到困惑。 – FrankyBoy