我正在研究完成特定操作需要多少時間。操作是這樣的:通過Visual Studio性能分析,應用程序運行速度更快
Parallel.ForEach(items, item => SaveScheme(item));
的SaveScheme
方法適用於數據庫:執行一些查詢,並與信息工程。 items
集合中元素的數量可以足夠大。
當我運行此操作時,大約需要20-40秒才能完成。但是當我開啓分析功能時,它只需要3秒!
我沒有找到任何有關此問題的信息。我唯一的猜測是,通過分析Parallel.ForEach
創建比沒有它更多的線程,但我不知道確切的,即使它是真的,我不知道如何處理它。
那麼,爲什麼會發生這種情況,如何在不分析分析的情況下運行應用程序時如何實現這種性能?
UPD。 Parallel
與此無關:我用簡單的foreach
進行了測試,而操作仍在3秒內完成!
hmm奇怪,實際上它會放慢速度... – Anuraj 2012-08-16 09:47:36
你試過Concurrency Visualizer嗎? – h1ghfive 2012-08-16 09:50:35
我試過了並發展示器,但是我看到的並沒有告訴我什麼。我知道有多少個線程等,但沒有配置器我不知道當操作需要40秒時會發生什麼。所以,我無法比較它。 – STiLeTT 2012-08-16 10:39:07