C# 在C语言中测量任务之间的延迟#

C# 在C语言中测量任务之间的延迟#,c#,performance,stopwatch,C#,Performance,Stopwatch,我知道目前正在使用System.Diagnostics.Stopwatch类,但由于我正在测量延迟,我想知道秒表是否真的是该作业的正确工具 它足够准确吗?结果的可靠性如何?来自 “提供一组方法和属性,可用于 准确测量经过的时间。” 从我所读到的内容来看,这是推荐的方法,也是创建它的目的(在准确性方面) 建议使用它,而不是DateTime.Now-someValueInThePast,或使用计时器或类似工具的其他方法 “提供一组方法和属性,可用于 准确测量经过的时间。” 从我所读到的内容来看,这是

我知道目前正在使用
System.Diagnostics.Stopwatch
类,但由于我正在测量延迟,我想知道秒表是否真的是该作业的正确工具

它足够准确吗?结果的可靠性如何?

来自

“提供一组方法和属性,可用于 准确测量经过的时间。”

从我所读到的内容来看,这是推荐的方法,也是创建它的目的(在准确性方面)

建议使用它,而不是DateTime.Now-someValueInThePast,或使用计时器或类似工具的其他方法

“提供一组方法和属性,可用于 准确测量经过的时间。”

从我所读到的内容来看,这是推荐的方法,也是创建它的目的(在准确性方面)


建议使用它,而不是DateTime。现在-过去的某个值,或使用计时器或类似工具的其他方法

您需要多精确?我想说,除非您需要满足某个方法的特定时间测量要求-您最好使用分析工具来查找性能问题。@blins我想要纳秒测量,但可以以毫秒为单位。的MSDN文档表明,它在多处理器mach上可能不可靠:在多处理器计算机上,线程在哪个处理器上运行并不重要。然而,由于BIOS或硬件抽象层(HAL)中的缺陷,您可以在不同的处理器上获得不同的计时结果。。。例如,VisualStudio已经有了一些不错的性能工具。此外,我认为您在测试运行之间测量的差异将远远超过(推测的)引入的任何错误量
秒表的不准确性
。您需要准确到什么程度?我想说,除非您需要满足某个方法的特定时间测量-您最好使用分析工具来发现性能问题。@blins我想要纳秒测量,但可以以毫秒为单位。的MSDN文档表明,它在多处理器mach上可能不可靠:在多处理器计算机上,线程在哪个处理器上运行并不重要。然而,由于BIOS或硬件抽象层(HAL)中的缺陷,您可以在不同的处理器上获得不同的计时结果。。。例如,VisualStudio已经有了一些不错的性能工具。此外,我认为您在测试运行之间测量的差异将远远超过由
秒表的(推测的)不准确引入的任何误差。