Как измерить время выполнения метода C#

Измерение времени выполнения при помощи структуры DateTime

Определить время выполнения кода ( метода, произвольной части метода, отдельной операции или программы в целом ) можно несколькими способами. Один из них заключается в использовании структуры DateTime.

Пример вычисления времени выполнения участка кода при помощи DateTime:

using System;
using System.Threading;

class Program {
    static void Main() {
        long ellapledTicks = DateTime.Now.Ticks;

        Thread.Sleep(10000);

        ellapledTicks = DateTime.Now.Ticks - ellapledTicks;

        Console.WriteLine("Потрачено тактов на выполнение: " + ellapledTicks); 
    }
}

В этом пример определяется количество истекших тактов на момент начала выполнения метода при помощи свойства DateTime.Now.Ticks. Затем мы вызываем метод Thread.Sleep для имитации какой-то загрузки. Потом вычисляется время выполнения метода: мы еще раз получаем количество истекших тактов и отнимаем от него предыдущее значение.


Измерение времени выполнения при помощи класса Stopwatch

Измерить время выполнения метода можно также с помощью специального класса Stopwatch из пространства имен System.Diagnostics. Этот класс был специально разработан для таких целей.

Перепишем предыдущий код под использование класса Stopwatch:

using System;
using System.Diagnostics;
using System.Threading;

class Program {
    static void Main() {
        // Создаем новый объект Stopwatch
        Stopwatch stopwatch = new Stopwatch();

        // Запускаем внутренний таймер объекта Stopwatch
        stopwatch.Start();

        Thread.Sleep(10000);

        // Останавливаем внутренний таймер объекта Stopwatch
        stopwatch.Stop();

        Console.WriteLine("Потрачено тактов на выполнение: " + stopwatch.ElapsedTicks);
    }
}
avatar
5000
  Подписаться  
Уведомление о