C#秒表计时异步等待方法不准确

C#秒表计时异步等待方法不准确,第1张

概述我正在写一些性能测试,并希望能够为异步的方法计时.代码如下所示,其中action是Func< Task< HttpResponseMessage>>:var sw = new Stopwatch(); HttpResponseMessage response = null; sw.Start(); response = await action().Con

我正在写一些性能测试,并希望能够为异步的方法计时.代码如下所示,其中action是Func< Task< HttpResponseMessage>>:

var sw = new Stopwatch();httpResponseMessage response = null;sw.Start();response = await action().ConfigureAwait(continueOnCapturedContext: false);sw.Stop();

代码编译并运行正常,但测量的毫秒数比我们在fiddler中看到的请求时间高约100倍 – fiddler报告200-300ms,但秒表报告~30,000ms.有关定时异步方法的问题吗?解决方案是在动作本身进行计时(这会很烦人吗?)最佳答案这应该可以很好地衡量异步任务完成所需的时间.你需要记住:

>您使用fiddler进行测量的时间仅用于测量请求,而且您的代码无需处理响应.
>这里的时间存在显着差异,您应该可以轻松地自己计算代码,以查看从请求之前的断点到请求之后需要多长时间.如果这接近30秒,那么你的秒表可能是准确的.
>对我来说没有什么可以让你的时间不准确. 总结

以上是内存溢出为你收集整理的C#秒表计时异步/等待方法不准确全部内容,希望文章能够帮你解决C#秒表计时异步/等待方法不准确所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/1263965.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-08
下一篇 2022-06-08

发表评论

登录后才能评论

评论列表(0条)

保存