我的下一個任務是調整我們的C#應用程序,以儘量減少內存使用量,減少使用的線程並提高性能。調整應用程序
我們的應用程序會每100ms收到一個小狀態消息。應用程序將處理這些狀態消息。然後,我們的應用程序將收到2M數據。根據處理的數據,將處理這一天並創建另外4個數據。之後,所有數據將被保存到數據庫。
模塊之間的通信是事件。因此係統中大約有100個事件(並非全部都是必需的)。
我可以使用任何工具來診斷問題並幫助使其更好?
我的下一個任務是調整我們的C#應用程序,以儘量減少內存使用量,減少使用的線程並提高性能。調整應用程序
我們的應用程序會每100ms收到一個小狀態消息。應用程序將處理這些狀態消息。然後,我們的應用程序將收到2M數據。根據處理的數據,將處理這一天並創建另外4個數據。之後,所有數據將被保存到數據庫。
模塊之間的通信是事件。因此係統中大約有100個事件(並非全部都是必需的)。
我可以使用任何工具來診斷問題並幫助使其更好?
您需要的應用程序是Profiler。 .NET有很多這樣的工具。最高版本的Visual Studio包含集成分析器。您也可以從很多地方下載不同的.NET分析器工具:
http://memprofiler.com/?gclid=CMTpo73j66ICFQ8EZgod6nuagA
This method works very well in C#.它發現你可以修復,以提高性能(for these reasons)什麼。如果您分配的內存太多,那麼在特定對象的new
中將顯示大部分時間。既然你有多個線程,你可以獨立地將技術應用到不同的線程。
您可以期待在早期發現一些相當容易修復以獲得加速的東西。之後,你需要做的事情會很明顯,但可能並不簡單,需要進行更廣泛的重新設計。
我正在使用VS2008專業版。沒有Profiler? – 5YrsLaterDBA 2010-07-14 20:43:59