在我的應用程序中,我正在執行一個新的.NET線程,並在該線程中執行任務。用C#測量線程的執行時間
我使用秒錶來衡量執行時間,但秒錶測量OS的所有線程的執行時間(螺母只是我的線程的執行時間)。我想要一種方法來衡量我創建的線程執行自己的指令所需的時間。
有沒有這種在.NET中測量的方式?
在我的應用程序中,我正在執行一個新的.NET線程,並在該線程中執行任務。用C#測量線程的執行時間
我使用秒錶來衡量執行時間,但秒錶測量OS的所有線程的執行時間(螺母只是我的線程的執行時間)。我想要一種方法來衡量我創建的線程執行自己的指令所需的時間。
有沒有這種在.NET中測量的方式?
無法在託管代碼中執行此操作,但可以使用PInvoke QueryThreadCycleTime或GetThreadTimes。有一點需要記住 - 沒有要求管理線程和本地線程之間必須存在一對一的關係,但據我所知,這是它目前的工作方式。使用Stopwatch
,您將始終獲得延遲的掛鐘時間,包括線程暫停時的時間。
檢查http://stackoverflow.com/questions/7598810/precisely-measure-execution-time-of-code-in-thread-c – mostruash