C#亚毫秒时序

时间:2010-02-08 21:52:10

标签: c# timing

C#中是否有任何地方以亚毫秒的精度执行定时操作?我将时间码放在我的软件中,所有内容都以0ms的形式返回。我想知道是否有一种方法可以获得更精细的粒度。

附录:这是获得亚毫秒时序的正确代码吗?

timeSpan.TotalMilliseconds / 10

我的时间仍为0

5 个答案:

答案 0 :(得分:16)

您可以尝试使用QueryPerformanceCounterStopWatch类进行托管方法

答案 1 :(得分:11)

使用System.Diagnostics.Stopwatch

答案 2 :(得分:3)

通常我会通过多次重复操作来测量这些场景(根据需要多少来获得几十或几百毫秒。

然后您可以更轻松地进行调整和测量。

答案 3 :(得分:1)

你可以尝试用Ticks而不是毫秒测量你的表现。它在性能方面会更准确。

但我同意Sam和Tyranid,请使用System.Diagnostics.StopWatch。

答案 4 :(得分:1)

我学到了新东西。那些蜱虫确实很方便。完整的例子:

Stopwatch stopwatch = Stopwatch.StartNew();

// Run code to get duration of

long durationInTicks = stopwatch.ElapsedTicks;
Console.WriteLine($"Duration: {(decimal)durationInTicks / TimeSpan.TicksPerMillisecond:f3}ms");

您也可以在stopwatch.ElapsedTicks内使用Console.WriteLine,但我不知道是否有任何性能延迟,这就是我首先检索它并将其放入变量的原因。< / p>