2009-07-17 102 views
8

我知道Redgate的螞蟻分析器,我聽說它很棒,但它也是400美元。任何更便宜的替代品,至少會指向我可能需要優化我的代碼的位置?免費或廉價的C#asp.net分析/性能分析選項?

+0

查看http://stackoverflow.com/questions/911932/where-can-i-find-a-profiler-for-c-applications-to-be-used-in-visual-studio-2008進一步討論/ options – 2009-07-18 18:24:08

回答

3

Dottrace是螞蟻的價格的一半左右,這是真正的好。由做ReSharper的同樣的人做。

如果你只是在尋找你的代碼的一次性優化,那麼你應該去螞蟻無論如何,因爲它有一個全功能的15天免費試用,這應該是足以讓很多優化完成。

+0

我也使用Dottrace,肯定會推薦這個建議。 – 2009-07-18 18:22:28

2

VSProfiler附帶VS,運行良好。 如果你正在看內存相關的問題,那麼CLRProfiler將是你的選擇。

+1

糾正我,如果我錯了,但我相信這隻適用於團隊版的Visual Studio。 – womp 2009-07-18 20:03:30

+0

是的,你是對的。 但是,CLR Profiler是免費的。 – mfawzymkh 2009-07-19 03:28:18

2

一般來說,我使用的方法是this

我不是那麼計時的代碼片段作爲在尋找大的不必要的時間,考生這樣我就可以清理出來並實現加速太大的興趣。

這實際上是一個不同的過程。

ADDED:如果我能詳細說明,我看到的典型性能問題是某些活動(幾乎總是一個函數調用)正在耗費一些時間,比如10%,50%,90%等等。並不是真的有必要 - 它可以用其他的東西替代或者根本不用,這樣可以節省時間。

假設說明它是50%。

予取的調用堆棧的隨機時間樣本,10爲示例,並且呼叫已出現在每一個的50%的機會,所以這將是在大約一半的樣品。因此它會吸引我的注意力,我會看看它是否真的有必要,如果不是,我會修復它以加快速度。

現在,那是測量?如果是這樣,那麼測量的確很差,因爲樣品數量太少。如果10個樣本中有5個顯示該調用,那麼時間的一小部分可能大概是50%左右,不管怎樣,這個比例肯定超過10%。所以我可能不知道百分比的精確度,但我知道肯定值得修復,而我肯定知道問題的確切位置是。 (注意:我沒有統計通話的次數,也沒有估計通話時間,而是估計了通話費用,這是刪除它可以節省的費用,也就是它在分組上的分數停留時間。還要注意,我在呼叫水平的工作,而不是功能水平。我可以不在乎什麼函數調用的上方和感興趣的召喚之下,但除此之外,功能層面的問題,比如獨佔時間,調用圖形和遞歸,沒有用武之地。)

這就是爲什麼我說衡量業績,並發現性能問題,雖然他們可能是互補的,真的是不同的任務。

+0

......啊,另一個匿名駕駛。但答案仍然有效。 – 2009-08-14 11:54:52

7

EQATEC Profiler是免費的。

我自己並沒有嘗試過,但它聽起來沒問題,並且在他們的網站上有一些積極的推薦。

我很樂意聽到任何實際使用過它的人的意見。