Possible Duplicate:
How do I measure how long a function is running?

我有一个I/O耗时方法,可以将数据从一个位置复制到另一个位置.计算执行时间的最佳和最真实的方法是什么?ThreadTimerStopwatch?还有其他解决方案吗?我想要最准确的,尽可能简短的.

推荐答案

Stopwatch就是为此目的而设计的,是测量.NET中的时间执行情况的最佳方法之一.

var watch = System.Diagnostics.Stopwatch.StartNew();
// the code that you want to measure comes here
watch.Stop();
var elapsedMs = watch.ElapsedMilliseconds;

Do not use DateTime来衡量执行时间.网


更新:

正如@SeriesOne在注释部分所指出的那样:如果您想要真正精确地度量某些代码的执行情况,则必须使用操作系统内置的性能计数器.following answer包含了一个很好的概述.

.net相关问答推荐

保存时不保留 XML 格式

您可以为 Func 或 Action 类型的函数或子参数指定默认值吗?

移位比Java中的乘法和除法更快吗? .网?

将毫秒转换为人类可读的时间间隔

如何判断 IOException 是否为 Not-Enough-Disk-Space-Exception 类型?

.Include() 与 .Load() 在 EntityFramework 中的性能

将 BitmapImage 转换为 Bitmap,反之亦然

ILMerge 最佳实践

添加新实体标量时实体框架 4 映射片段错误

如何对无法加载的 VSTO 插件进行故障排除?

在 C# 中将字符串转换为十六进制字符串

.NET 反射的成本是多少?

我们应该总是在类中包含一个默认构造函数吗?

寻找 .NET 的命令行参数解析器

C# 中的 F# List.map 类似功能?

在 .NET 中获取默认打印机的最佳方法是什么

C# 相当于 Java 的 Exception.printStackTrace()?

如何为我的 C# 应用程序创建产品密钥?

Roslyn 编译代码失败

如何使用 AutoMapper .ForMember?