如何在 c# 中捕获函数内代码块调用的执行时间

本文关键字:代码 调用 执行时间 函数 | 更新日期: 2023-09-27 17:55:30

我想捕获特定代码块的执行时间,这在 c# 中是可能的吗

例:

public class DoSomething
{
     public void Long_Running_Call()
     {
           .....
     }
     public void Medium_Running_Call()
     {
        .....
     }
 }

在主函数中,我想知道 Long_Running_Call() 和 Medium_Running_Call() 的执行时间。

public static void main()
{
    var do_something = New Do_Something();
    do_something.Long_Running_Call(); //I want to print the time taken for this   function call below
}

如何在 c# 中捕获函数内代码块调用的执行时间

您可以使用 System.Diagnostics.Stopwatch:

Stopwatch watch = new Stopwatch();
var do_something = new Do_Something();
watch.Start();                         // Start the timer
do_something.Long_Running_Call();      // Long running call
watch.Stop();                          // Stop the timer
TimeSpan elapsed = watch.Elapsed;

当然,这是假设Long_Running_Call是同步的并且阻塞了主线程。