關於C#類中的private
,protected
,public
和internal
方法的性能是否有任何區別?如果消耗更多的處理器時間或RAM,我很感興趣。C#類中的私有,受保護,公共和內部方法的性能有任何區別嗎?
7
A
回答
5
我不是瞭解對於正常調用的任何性能差異;當通過動態調用或反射訪問時,更多受限訪問可能需要更多工作,因爲調用者可能需要更仔細地進行驗證。在正常的JIT編譯的情況下,訪問可以由CLR驗證一次,然後視爲理所當然。我猜可能JIT編譯(和IL驗證)本身對於更多限制性訪問可能會稍微慢一些 - 但是我發現很難相信它會很重要。
這應該是絕對不是是決定使用哪種可訪問性的一個因素,即使某種程度上存在我不知道的微小性能差異。如果您認爲您可以通過爲您的設計設置「自然」以外的輔助功能來獲得性能優勢,那麼您肯定應該對前/後案例進行基準測試 - 我懷疑您會很難找到現實世界中的差異是可以衡量的。
同樣的建議適用於各種微型優化:無論如何它幾乎從來都不是一個好主意,並且肯定是只能在仔細測量中進行。
0
私人,受保護或公共方法之間的績效沒有可衡量的差異。
如果你專注於優化,可能你應該嘗試讓你的瓶頸代碼更「程序化」而不是面向對象。它會做小改進。
相關問題
- 1. C++類(公共,私有和受保護)
- 2. 受保護的內部和內部受保護有區別嗎?
- 3. 受保護的和私有的方法
- 4. 與公共,私人和受保護區別
- 5. 範圍的私有,保護和公共
- 6. PHP類常量 - 公共,私有還是受保護的?
- 7. 目的C同一類別中的私有公共方法
- 8. javadoc所有 - 私人,公共和受保護的成員
- 9. 如何確定一個方法是私有的,受保護的,內部的還是公共的?
- 10. python中的私有公共受保護訪問說明符
- 11. 包私有類中的公共方法
- 12. 包私有類中的公共方法
- 13. TypeScript - 私有變量和受保護變量之間的區別
- 14. D類的公共,私有和受保護的訪問限定符
- 15. 您應該在Ruby中使用私有,受保護和公共修飾符嗎?
- 16. C++結構中的私有和受保護的可用性
- 17. 將私有或受保護的方法轉換爲公開
- 18. javascript中的私有和公共方法
- 19. 應該注意私有和受保護的變量,方法和類嗎?
- 20. 爲什麼在Obejct類中有公共方法,它們可能受到保護?
- 21. 將受保護/私有屬性公開給某些類
- 22. 公共私人和保護在objective-c
- 23. 屬性公共和私人但不受保護?
- 24. C#內部getter,帶有內部類參數的受保護setter
- 25. 僅獲取受保護方法和公共方法的MethodInfo?
- 26. 有無論如何定義公共或私人或受保護的類在PHP
- 27. 發佈的和公共的方法/屬性有什麼區別?
- 28. 「公共」,「私人」和「受保護」方法的確切做法是什麼?
- 29. Rails中的受保護和私有方法
- 30. 如何區分Webpack中的私有類和公共類
microptimisation any? –
可能不是,但有一個改進(記憶,我認爲)與密封類。 –
什麼'私人靜態(而不是非'靜態')方法? –