📜  如何计算 C# 中的代码执行时间?(1)

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

如何计算 C# 中的代码执行时间?

在编程中,有时候需要知道某段代码的执行时间,以便进行优化或比较不同算法的效率。这里将介绍 C# 中如何计算代码的执行时间。

方法一:使用 Stopwatch 类

Stopwatch 类可以通过 Start 和 Stop 方法来开始和停止计时,ElapsedMilliseconds 属性用于获取计时的总时间。

using System.Diagnostics;

// 开始计时
Stopwatch stopWatch = new Stopwatch();
stopWatch.Start();

// 要计时的代码
// ...

// 停止计时
stopWatch.Stop();

// 输出结果
Console.WriteLine("执行时间:{0} ms", stopWatch.ElapsedMilliseconds);
方法二:使用 DateTime 类

我们可以记录代码开始和结束的日期时间,然后计算两者之间的时间差。注意:DateTime 类的精度只能到毫秒级别,而 Stopwatch 类的精度可以达到微秒级别。

using System;

// 记录开始日期时间
DateTime startTime = DateTime.Now;

// 要计时的代码
// ...

// 记录结束日期时间
DateTime endTime = DateTime.Now;

// 计算时间差并输出结果
Console.WriteLine("执行时间:{0} ms", (endTime - startTime).TotalMilliseconds);
方法三:使用 PerformanceCounter 类

PerformanceCounter 类可以用于性能计数,可以统计 CPU 时间、磁盘使用、网络传输速率等系统指标。这里我们使用它来统计执行时间。

using System.Diagnostics;

// 创建一个计时器
PerformanceCounter cpuCounter = new PerformanceCounter("Processor", "% Processor Time", "_Total");

// 开始计时
float startCpuUsage = cpuCounter.NextValue();

// 要计时的代码
// ...

// 停止计时
float endCpuUsage = cpuCounter.NextValue();

// 输出结果
Console.WriteLine("执行时间:{0} ms", (endCpuUsage - startCpuUsage) * Environment.ProcessorCount / 100);

以上三种方法都可以用来计算 C# 代码的执行时间,具体选择哪种方法要根据需求和实际情况来决定。