要Improvide C#.NET應用程序的性能..提高應用程序性能
在我的應用我使用第三方的Interop/DLL到進程.doc文件。
這是一個簡單的操作, 其中通過輸入/輸出FilePath Interop DLL ... & DLL將執行文本格式輸入文件。
爲了提高性能我曾嘗試,
- 執行2 therad處理32個文件。(每個線程處理16個文件)
- 通過創建2個新的應用程序域(每個應用程序域碼過程16頁的文件執行的應用程序代碼)
- 執行代碼使用TPL(任務中並行庫)
但所有選項需要大約同一時間(32秒)來處理32個文件。手動過程花費相同的32秒來處理32個文件。
剛剛試過一件事..當我創建了示例exe來處理16個文件作爲輸入&輸出引用在TextBox中給出的路徑。
..我打開2個exe實例進行處理。 1 EXE具有不同16個輸入文件&輸出與輸入文件路徑創建 2的exe具有不同16輸入文件&輸出創建與輸入文件路徑
當我點擊兩者的exe的開始按鈕..它使用100%的CPU &顯着利用兩個核心&進程32個文件在16秒內完成。
我們可以提供這種明確的prallism來提高我的應用程序性能嗎?
您是否嘗試過詳細分析應用程序?如果I/O是緩慢的主要來源,那麼你不能通過並行來解決它。 – kennytm 2010-03-22 08:46:53