簡體   English   中英

如何每秒分析 C# 方法?

[英]How can I profile C# methods per second?

我不知道標題是否有意義,但我正在嘗試為兩種不同的方法計時,看看它們每秒執行多少次,或者說每 10 秒執行多少次。

例如:

DividePolygons1(Polygon[] polys)
DividePolygons2(Polygon[] polys)

DividePolygons1 ran:
1642 times per 1 second

DividePolygons2 ran:
1890 times per 1 second

System.Diagnostics.Stopwatch類將在這里為您提供幫助,但請注意以某種方式使用結果,以便優化器不會消除您嘗試測量的邏輯。

除此之外,只需在循環中運行您正在分析的代碼數百萬次(調整迭代計數以使其花費 1 到 30 秒),然后將迭代次數除以獲得每次執行的吞吐量所需的時間第二。

我會怎么做:

  • 啟動Stopwatch
  • 在這些函數中,我增加了一個簡單的變量(long、float 或 double,取決於您認為它們被調用的頻率),因此它在每次調用時都會增加。
  • 調用第一個函數。
  • 停止Stopwatch並根據我一直在遞增的變量檢查TotalSeconds
  • 重復第二個功能。

Visual Studio 2010 有一個分析器,可以確定每個時間單位的方法調用的確切數量。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM