我發現了一些2008年的基準測試結果,用於測試幾個頂級.NET DI/IoC容器here的性能。但我一直無法找到任何更新的結果。有比較一些大的IoC容器(StructureMap,Unity,Ninject,Autofac,Castle Windsor等)的基準嗎?DI/IoC容器性能基準比較?
回答
我不會推薦使用性能基準測試來挑選IoC容器。還有很多很多更重要的因素,例如功能設置,開發路線圖和可維護性等。
意識到您引用的基準在最壞的情況下僅顯示3-4倍的速度差100萬個電話。在「現實世界」場景中,DI/IoC用於連接依賴關係,並且對整體應用程序性能的影響非常小,因爲此構建階段佔整個運行時間的一小部分。選擇「高性能」還是「低性能」IoC容器可能對應用程序的感知性能沒有明顯的影響。
在性能對您的特定使用情況非常重要的情況下,基準不太可能成爲衡量IoC容器性能如何影響您的有效衡量標準,因爲基準往往會偏向特定的問題集。如果您真的相信這是一個嚴重的問題,我強烈建議您自己進行分析和測量。
只是想說,選擇高性能與低性能IoC容器可以對應用程序的感知性能產生巨大的明顯影響,因爲用戶最小的可識別更改爲50ms,並且最佳與最差容器之間的性能差異通常是超過50毫秒。出於這個原因,我們親自從Ninject移到了DryIoC 2.1.3。 – 2016-02-23 16:02:37
3-4倍的差異不是更新的基準測試結果。例如,根據http://www.palmmedia.de/blog/2011/8/30/ioc-container-benchmark-performance-comparison – daniloquio 2018-03-07 19:04:03
在我的情況下,IoC容器的速度一直是一個重要因素。我有一個執行許多注射的應用程序,發現Ninject大大減慢了應用程序的速度。完全取出IoC解決了性能問題。我將研究其他解決方案。
,Ninject vs LightInject的差異可能會超過200倍。如果將IoC容器解決性能問題,你可能想嘗試[Simple Injector](https://simpleinjector.codeplex.com/)。 Simple Injector與手工創建對象圖相比的性能開銷是最小的(有時甚至更好),這可以在[this benchmark]中看到(http://www.palmmedia.de/blog/2011/8/30/ IOC-容器基準-性能比較)。 – Steven 2013-09-03 10:47:37
調查DryIoC 2.1.3 – 2016-02-23 16:03:12
IoC Container Benchmark - Performance comparison具有的性能和功能比較表爲20+的產品,它是由最新的(最新更新2017年12月21日)
從文章的結論是:
特別是Simple Injector似乎是個不錯的選擇。它非常快, 有一個很好的文檔,並且還支持高級場景,如 攔截和通用裝飾器。
另請參閱相關的https://stackoverflow.com/questions/1140730/net-di-containers-comparison/問題。
- 1. LINQ基本性能比較
- 2. 基本性能比較
- 3. 可能無意基準比較
- 4. Java比較器的性能?
- 5. VHDL。比較器的性能
- 6. IDE /編譯器PC基準測試可以比較我的PC性能嗎?
- 7. 性能比較
- 8. mysql性能基準
- 9. Cython性能基準
- 10. imageresizer.net性能基準
- 11. JMH:性能比較
- 12. 壓縮和加密基準比較
- 13. JPA 2實現基準比較
- 14. CodeIgniter與Yii的比較基準測試
- 15. 基準比較Java中的Git分支?
- 16. CSS動畫業績比較基準
- 17. 如何基準服務器性能?
- 18. 服務器基準測試php性能
- 19. 我們可以比較二元運算符的基準/性能嗎?
- 20. 將Scala的REPL用於比較性能基準測試是否合理?
- 21. 比較兩臺機器的性能
- 22. 板坯分配器性能比較
- 23. 比較jquery選擇器的性能
- 24. SQLAlchemy混合性能比較器
- 25. 比較數組的準確性
- 26. ASMX和ASHX性能基準
- 27. 數據庫性能基準
- 28. NHibernate的自基準性能
- 29. 將容器與GoogleTest比較
- 30. Java List.SubList()性能比較
我同意裏德。此外,基準很容易出錯。在此線程查找實例:http://stackoverflow.com/questions/5298240/hiro-vs-other-ioc-containers/5308894#5308894。 – Steven 2011-03-15 20:33:03
事實上,這樣的新基準從網絡中遺漏,我認爲這是一個較小的擔心。 – 2011-03-15 20:44:12