找出一个c#程序在调试器中执行了多少毫秒

本文关键字:执行 调试器 多少 程序 一个 | 更新日期: 2023-09-27 18:18:48

我需要使用c#调试器分析我的编程逻辑的性能开销。所以我需要比较代码中的两个逻辑。我不想安装任何附加组件,如分析到我的VisualStudio。我想通过编写特殊函数来分析这个模块。c#中有这样的预定义函数吗?我需要所有可用的选项来测试一个模块是好的(好的意思是它需要最短的时间来执行)我用的是VisualStudio 2010专业版

找出一个c#程序在调试器中执行了多少毫秒

如果你只是想测量一个函数需要执行的时间,你可以使用Stopwatch类。

示例:

Stopwatch stopWatch = new Stopwatch();
stopWatch.Start();
CallYourFunction();
stopWatch.Stop();
// Get the elapsed time as a TimeSpan value.
TimeSpan ts = stopWatch.Elapsed;

这项工作的常用工具是分析器。如果您有Visual Studio 2010的终极版或高级版,您可以按照以下说明使用内置的分析器:

要在。net应用程序中简单准确地测量时间,您可以使用Stopwatch:

// you usually need a lot of iterations to get a stable and accurate measurement
int iterations = 10000;
Stopwatch stopwatch = Stopwatch.StartNew();
// It is important to do as little as possible between starting the
// stopwatch and calling your function. If you need to allocate memory
// or do any startup actions, do them before you start.
for (int i = 0; i < iterations; ++i)
{
    YourFunction();
}
// Similarly, don't do anything more after your code is done, just get
// the elapsed time immediately.
TimeSpan totalDuration = stopwatch.Elapsed;
TimeSpan durationForEachIteration =
    TimeSpan.FromTicks(totalDuration.Ticks / iterations);

如果你只是想测量执行时间,你可以使用Stopwatch类。

一般来说,您可以从System中的所有内容中受益。诊断名称空间。

使用系统中提供的StopWatch类。诊断 namesapce

Stopwatch stopWatch = new Stopwatch(); 
stopWatch.Start(); 
//instead of this there is line of code that you are going to execute
 Thread.Sleep(10000); 
 stopWatch.Stop(); 
// Get the elapsed time as a TimeSpan value. 
 TimeSpan ts = stopWatch.Elapsed; string elapsedTime = String.Format("{0:00}:{1:00}:{2:00}.{3:00}", ts.Hours, ts.Minutes, ts.Seconds, ts.Milliseconds / 10); 

完整Post:使用StopWatch获取代码执行时间

你可以写一个这样的函数

    CalculateTime()
    {
      //create timer
      Stopwatch sw = new Stopwatch();
      //start measuring time
      sw.Start();
      //your logic you want to measure
      //stop recording time
      sw.Stop();
      //you can calculate result using sw.ElapsedTicks;
    }