Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/288.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# .NET单例长时间运行的秒表实例_C#_.net_Performance_Stopwatch - Fatal编程技术网

C# .NET单例长时间运行的秒表实例

C# .NET单例长时间运行的秒表实例,c#,.net,performance,stopwatch,C#,.net,Performance,Stopwatch,拥有一个长时间运行的单一秒表实例有什么意义 例如 然后到处都用秒表 我试图避免在热路径上产生额外的GC压力,并且能够在没有包装的情况下将大多数诊断代码留在那里。停止监视实际上在运行时没有任何功能,只存储开始和结束时的值,并将其转换为时间跨度,这反过来又可以存储最大值10675199.02:48:05.4775807或10675199天 正如您在这里看到的,源代码非常简单 在单例中运行此命令的开销可以忽略不计没有什么特别之处。无论您是否使用秒表,为秒表提供样本的底层硬件计数器总是滴答作响。它不像

拥有一个长时间运行的单一秒表实例有什么意义

例如

然后到处都用秒表


我试图避免在热路径上产生额外的GC压力,并且能够在没有包装的情况下将大多数诊断代码留在那里。

停止监视实际上在运行时没有任何功能,只存储开始和结束时的值,并将其转换为时间跨度,这反过来又可以存储最大值10675199.02:48:05.4775807或10675199天

正如您在这里看到的,源代码非常简单


在单例中运行此命令的开销可以忽略不计

没有什么特别之处。无论您是否使用秒表,为秒表提供样本的底层硬件计数器总是滴答作响。它不像DateTime.UtcNow那个样经过校准,所以若你们连续几天使用它,你们可能会发现和常规时钟不符。没有GC负载。
public static Stopwatch Stopwatch = Stopwatch.StartNew();