亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

精確的時間測量以進行性能測試

精確的時間測量以進行性能測試

FFIVE 2019-12-09 09:51:06
查看代碼(例如方法調用)花費了多長時間的最準確方法是什么?我猜最簡單,最快的方法是:DateTime start = DateTime.Now;{    // Do some work}TimeSpan timeItTook = DateTime.Now - start;但是,這有多精確?有更好的方法嗎?
查看完整描述

3 回答

?
守著一只汪

TA貢獻1872條經驗 獲得超4個贊

更好的方法是使用Stopwatch類:


using System.Diagnostics;

// ...


Stopwatch sw = new Stopwatch();


sw.Start();


// ...


sw.Stop();


Console.WriteLine("Elapsed={0}",sw.Elapsed);


查看完整回答
反對 回復 2019-12-09
?
jeck貓

TA貢獻1909條經驗 獲得超7個贊

正如其他人所說,Stopwatch在這里使用是一個很好的類。您可以將其包裝為有用的方法:


public static TimeSpan Time(Action action)

{

    Stopwatch stopwatch = Stopwatch.StartNew();

    action();

    stopwatch.Stop();

    return stopwatch.Elapsed;

}

(請注意使用Stopwatch.StartNew()。我寧愿先創建秒表,再Start()進行簡單調用。)顯然,這會招致調用委托的麻煩,但是在大多數情況下,這是無關緊要的。然后,您將編寫:


TimeSpan time = StopwatchUtil.Time(() =>

{

    // Do some work

});

您甚至可以ITimer為此建立一個接口,并StopwatchTimer, CpuTimer在可用時使用etc的實現。


查看完整回答
反對 回復 2019-12-09
  • 3 回答
  • 0 關注
  • 882 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號