Как лучше всего измерить время выполнения функции?[дубликат]

StackOverflow https://stackoverflow.com/questions/380919

Вопрос

Очевидно, я могу сделать и DateTime.Now.After - DateTime.Now.Before но должно быть что-то более сложное.

Любые советы приветствуются.

Это было полезно?

Другие советы

Я бы вам обязательно посоветовал посмотреть System.Diagnostics.Stopwatch

И когда я поискал больше о секундомере, я нашел этот сайт;

Остерегайтесь секундомера

Там упоминалась еще одна возможность

Процесс.TotalProcessorTime

Используйте профилировщик

Тем не менее ваш подход будет работать, но если вы ищете более сложные подходы.Я бы предложил использовать Профилировщик С#.

Преимущества, которые они имеют:

  • Вы даже можете получить распад уровня заявлений
  • Никаких изменений в вашей кодовой базе не требуется.
  • Приборы обычно требуют меньше накладных расходов, поэтому можно получить очень точные результаты.

Есть много доступных Открытый исходный код также.

Tickcount — это хорошо, однако я предлагаю запустить его 100 или 1000 раз и вычислить среднее значение.Не только делает его более измеримым - в случае действительно быстрых/коротких функций, но и помогает справиться с некоторыми разовыми эффектами, вызванными накладными расходами.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top