加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 如果有的话,使用System.Diagnostics.Stopwatch的资源是多

发布时间:2020-12-15 04:11:31 所属栏目:百科 来源:网络整理
导读:例如 foo() //Some operation bound by an external resource. db,I/O,whatever. 与 var watch = new Stopwatch();watch.Start();foo()var time = watch.ElapsedMillisecondswatch.Stop(); 解决方法 我相信Stopwatch是建立在QueryPerformanceCounter之上的,
例如
foo() //Some operation bound by an external resource. db,I/O,whatever.

var watch = new Stopwatch();
watch.Start();
foo()
var time = watch.ElapsedMilliseconds
watch.Stop();

解决方法

我相信Stopwatch是建立在QueryPerformanceCounter之上的,所以每个调用都会导致内核转换.如果foo()非常简短,那么QPC的开销就会很小.

如果您使用秒表来测量简短任务,则应运行多次(如数千)foo(),并在整个批次周围使用秒表.将总时间除以运行次数以获取任务的平均时间.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读