找出一个c#程序在调试器中执行了多少毫秒
本文关键字:执行 调试器 多少 程序 一个 | 更新日期: 2023-09-27 18:18:48
我需要使用c#调试器分析我的编程逻辑的性能开销。所以我需要比较代码中的两个逻辑。我不想安装任何附加组件,如分析到我的VisualStudio。我想通过编写特殊函数来分析这个模块。c#中有这样的预定义函数吗?我需要所有可用的选项来测试一个模块是好的(好的意思是它需要最短的时间来执行)我用的是VisualStudio 2010专业版
如果你只是想测量一个函数需要执行的时间,你可以使用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;
}