2009-02-21 53 views
6

Microsoft製作了一個名爲「Visual Studio 2008 Professional」的軟件。我發現,似乎沒有應用程序性能分析器或類似的東西,使得它對我來說看起來並不那麼「專業」。如何在Visual Studio 2008「Pro」中執行性能分析

如果微軟不包括探查,什麼是爲Visual Studio 2008的時間分析您的第三方選擇?免費將是可取的,因爲這是單向的學生用途:P

回答

4

就我個人而言,我使用紅門剖析器。

其他人發誓的JetBrains之一。

那些似乎是選擇,並且他們之間沒有太多。

0

我使用JetBrain的dotTrace,它工作得很好。

3

我用JetBrains dotTrace profiler。這是一個商業分析器。 (全面披露:我收到一個免費的許可證作爲MVP它已經證明是非常有用的,。)

還有免費的CLR Profiler for .NET 2.0an article explaining how to use it

+1

注意,免費的一個實際上是*內存*分配跟蹤,但它落後於其他系統的直PERF的分析非常好。我知道沒有免費的支持混合模式分析或採樣而不是儀器。 AQTime和Team系統都是這樣做的 – ShuggyCoUk 2009-02-22 23:37:19

+0

我剛剛嘗試了dotTrace演示。我希望這不會是我的預期,但它是。它用漂亮的東西淹沒你並不重要。重要的是它在調用`myBitmap.SetPixel`時佔用了90%以上的時間,並且在各個地方的小部分時間都像光線與球體相交,就像沒有太多停頓一樣容易顯示。我在DT巡迴演出,但沒有任何內容告訴我暫停對我說了什麼。 – 2011-10-19 20:45:35

+0

@MikeDunlavey:我真的沒有足夠的上下文去理解那個評論,但是dotTrace肯定幫助我找到了野田時間的瓶頸...... – 2011-10-19 20:47:27

6

有一對夫婦的免費廓線儀,而不是完整的或拋光作爲商業的,但可以肯定有很大的幫助:

Eqatec - 這是專爲Windows CE,但工作得很好,對於正常的應用程序。

Soft Prodigy Profile Sharp - 這實際上是用C#的一個開源項目,所以如果你想你可以用它修補。

0

same answer as:

重新編輯:你問你的選擇是。如果你的心被設置爲分析,然後尋找一個分析器。

在另一方面,如果你確實有一個性能問題查找,簡單的方法效果一樣好,甚至比幾乎每個探查更好。我幾乎可以說每一個,因爲在一些分析人員中,你實際上可以梳理出你需要知道的東西,這是可以歸因於單個指令的時間成本,尤其是調用指令。

的指令的時間 - 成本是如果該指令可以被移除該將被保存的時間量,並且它的一個良好的估計是含有它的調用堆棧的樣品的級分。您不需要高精度地估計該分數。如果該指令是10個樣本中的5個,則其成本可能在45%到55%的範圍內。不管 - 如果你能擺脫它,你會節省成本。

所以找到性能問題並不難。只需拿出一些調用堆棧樣本,收集這些樣本的指令集,然後按照包含它們的樣本分數對指令進行排名。高分數指令中有一些是你可以優化的,你不必猜測它們在哪裏。

我簡化了一些,因爲經常檢查更多的狀態信息比調用堆棧更有幫助,看看是否有一些工作是非常必要的。但我希望這一點是成立的。

人們表示懷疑它可以在存在遞歸或在大型項目上工作。一點想法(和實驗)表明,這些反對意見不具備水分。

相關問題