📜  c# 性能计时器 - C# (1)

📅  最后修改于: 2023-12-03 14:39:46.682000             🧑  作者: Mango

C# 性能计时器

在进行软件开发时,性能往往是我们需要关注的一个重要因素之一。而性能计时器便是帮助我们检测出程序中时间瓶颈的必备工具之一。下面将介绍 C# 中常用的性能计时方式。

常用的计时方式
Stopwatch 类

Stopwatch 类是 C# 提供的一个用于计时的工具类。通过该类的 Start()Stop() 方法和 Elapsed 属性可以轻松地完成计时功能。

使用该类的示例如下:

// 创建一个 Stopwatch 类的示例
var stopwatch = new Stopwatch();
// 开始计时
stopwatch.Start();
// 执行代码
// ...
// 停止计时
stopwatch.Stop();
// 输出所用时间
Console.WriteLine("Elapsed time: " + stopwatch.ElapsedMilliseconds + "ms");
DateTime 类

DateTime 类也可以用于计时,但不如 Stopwatch 类精准。

可以先通过 DateTime.Now 方法获取初始时间戳,再在代码运行结束后再次调用该方法获取结束时间戳,然后计算时间差。

使用该类的示例如下:

// 获取初始时间戳
var start = DateTime.Now;
// 执行代码
// ...
// 获取结束时间戳
var end = DateTime.Now;
// 输出所用时间
Console.WriteLine("Elapsed time: " + (end - start).TotalMilliseconds + "ms");
计时性能分析

通常情况下,我们需要分析整个程序的性能,而不是某一个特定的代码块的性能。为此我们可以使用 Visual Studio 自带的性能分析工具。

  1. 在 Visual Studio 中打开要进行性能分析的项目;
  2. 点击菜单栏中的“装入 / 卸载调试器”并选择“性能分析工具”;
  3. 在弹出的窗口中选择项目运行时所涉及的操作(通常情况下是“CPU 采样”或“CPU 报告”);
  4. 点击“开始分析”并等待程序运行结束;
  5. 分析结果在“性能分析”的窗口内展示,其中包含各个代码块的耗时情况、调用栈等信息。
总结

性能计时器是评估软件性能的必要工具之一,而在 C# 中使用 Stopwatch 类和 DateTime 类可以实现计时功能。另外,通过 Visual Studio 中的性能分析工具也可以分析整个程序的性能,并找出性能瓶颈。