2012-07-03 15 views
0

我正在使用EQATEC,我喜歡它。然而,我似乎無法得到它的檔案.NET系統DLLs,如System.Net.dllMicrosoft.Xna.Framework.dll,因爲他們不在我的可執行文件的目錄中。EQATEC有沒有辦法分析系統DLL?

有沒有辦法做到這一點?

現在它告訴我一個方法本身需要很多時間,這是錯誤的,因爲它是需要所有時間的外部系統DLL調用,但它不顯示此信息。

回答

1

從EQATEC用戶指南,根據已知的限制:

  • 只有定義的方法,目前型材,未引用的。因此,所有您的應用程序本身定義的方法將被異形,但不繫統。*等
1

現在它告訴我的方法需要花費大量的時間本身,這是 假的,因爲它是外部系統DLL調用,它需要所有的時間,但它不顯示這個信息。

沒關係。

如果您知道某些系統例程擁有程序計數器很多,那麼這對您有什麼幫助? 你仍然需要弄清楚你的代碼授權它。

示例:內存分配是一個系統函數,通常需要大量的時間。 這是否意味着你需要更快的內存分配器? 不,這意味着您需要少做new s。

你應該尋找程序(甚至更好 - )在你的代碼,其包容性的掛鐘時間(自加被叫方)是總時間大%的。 (不要看高通話計數或高毫秒,尋找高百分比。)

爲什麼?因爲這是它負責的整體時間的一小部分。 如果你能以某種方式使日常工作或生產線花不了多少時間,那麼總體時間會減少百分之幾。 通常情況下,你這樣做的方式是減少從屬呼叫,或者根本不需要。例如,如果您的程序需要10秒鐘,並且如果有一行代碼確實是new及其包含的百分比是20%(即該行代碼及其封裝例程在堆棧中的20%)時間),那麼如果你可以少執行或根本不執行該行,則可以節省2秒。

+0

EQATEC不會逐行分析,除非我錯了。另外,瞭解系統例程很長可以讓我找到其他方法。 – Lazlo

+0

@LazloBonin:「EQATEC不會逐行分析」。是啊。把它與理查德弗拉姆霍爾特一起。他是一位好人,也是EQATEC的作者。 –

+0

如果是的話,我會愛上EQATEC。 – Lazlo

相關問題