Microsoft製作了一個名爲「Visual Studio 2008 Professional」的軟件。我發現,似乎沒有應用程序性能分析器或類似的東西,使得它對我來說看起來並不那麼「專業」。如何在Visual Studio 2008「Pro」中執行性能分析
如果微軟不包括探查,什麼是爲Visual Studio 2008的時間分析您的第三方選擇?免費將是可取的,因爲這是單向的學生用途:P
Microsoft製作了一個名爲「Visual Studio 2008 Professional」的軟件。我發現,似乎沒有應用程序性能分析器或類似的東西,使得它對我來說看起來並不那麼「專業」。如何在Visual Studio 2008「Pro」中執行性能分析
如果微軟不包括探查,什麼是爲Visual Studio 2008的時間分析您的第三方選擇?免費將是可取的,因爲這是單向的學生用途:P
就我個人而言,我使用紅門剖析器。
其他人發誓的JetBrains之一。
那些似乎是選擇,並且他們之間沒有太多。
RedGate ANTS profiler是不貴,和做這項工作。
我使用JetBrain的dotTrace,它工作得很好。
我用的是Team System Edition。這是一個非常好的分析器。還有其他的選擇了:
希望有所幫助。注意:它們都不是免費的。
快樂剖析:)
我用JetBrains dotTrace profiler。這是一個商業分析器。 (全面披露:我收到一個免費的許可證作爲MVP它已經證明是非常有用的,。)
還有免費的CLR Profiler for .NET 2.0和an article explaining how to use it。
有一對夫婦的免費廓線儀,而不是完整的或拋光作爲商業的,但可以肯定有很大的幫助:
Eqatec - 這是專爲Windows CE,但工作得很好,對於正常的應用程序。
Soft Prodigy Profile Sharp - 這實際上是用C#的一個開源項目,所以如果你想你可以用它修補。
重新編輯:你問你的選擇是。如果你的心被設置爲分析,然後尋找一個分析器。
在另一方面,如果你確實有一個性能問題查找,簡單的方法效果一樣好,甚至比幾乎每個探查更好。我幾乎可以說每一個,因爲在一些分析人員中,你實際上可以梳理出你需要知道的東西,這是可以歸因於單個指令的時間成本,尤其是調用指令。
的指令的時間 - 成本是如果該指令可以被移除該將被保存的時間量,並且它的一個良好的估計是含有它的調用堆棧的樣品的級分。您不需要高精度地估計該分數。如果該指令是10個樣本中的5個,則其成本可能在45%到55%的範圍內。不管 - 如果你能擺脫它,你會節省成本。
所以找到性能問題並不難。只需拿出一些調用堆棧樣本,收集這些樣本的指令集,然後按照包含它們的樣本分數對指令進行排名。高分數指令中有一些是你可以優化的,你不必猜測它們在哪裏。
我簡化了一些,因爲經常檢查更多的狀態信息比調用堆棧更有幫助,看看是否有一些工作是非常必要的。但我希望這一點是成立的。
人們表示懷疑它可以在存在遞歸或在大型項目上工作。一點想法(和實驗)表明,這些反對意見不具備水分。
注意,免費的一個實際上是*內存*分配跟蹤,但它落後於其他系統的直PERF的分析非常好。我知道沒有免費的支持混合模式分析或採樣而不是儀器。 AQTime和Team系統都是這樣做的 – ShuggyCoUk 2009-02-22 23:37:19
我剛剛嘗試了dotTrace演示。我希望這不會是我的預期,但它是。它用漂亮的東西淹沒你並不重要。重要的是它在調用`myBitmap.SetPixel`時佔用了90%以上的時間,並且在各個地方的小部分時間都像光線與球體相交,就像沒有太多停頓一樣容易顯示。我在DT巡迴演出,但沒有任何內容告訴我暫停對我說了什麼。 – 2011-10-19 20:45:35
@MikeDunlavey:我真的沒有足夠的上下文去理解那個評論,但是dotTrace肯定幫助我找到了野田時間的瓶頸...... – 2011-10-19 20:47:27