Измерение задержек с использованием библиотек.NET
Я строю приложение в.NET (не важно, на каком языке, это язык фреймворка). Мне нужно посчитать, сколько времени проходит от инструкции к другой. Мне нужно измерить время.
Как это сделать с помощью библиотек.NET? Какой из них является правильным пространством имен / классом для использования? Спасибо
2 ответа
System.Diagnostics.Stopwatch
вероятно, вы хотите использовать для этой цели, но имейте в виду, что пока Stopwatch
очень гранулированный, он не особенно точен в течение длительных периодов времени. Например, если вы начнете Stopwatch
и пусть он проработает ровно 24 часа (при измерении независимыми часами или системными часами компьютера), он покажет прошедшее время 24 часа плюс 5-10 секунд (не миллисекунд).
Итак, если вы хотите измерить очень короткие промежутки времени, используйте Stopwatch
, Если продолжительность, которую вы хотите измерить, больше (порядка нескольких минут или более), вы должны вместо этого позвонить DateTime.UtcNow
в начале и в конце вашей последовательности, и рассчитать разницу как Timespan
,
Попробуйте использовать класс Секундомер. Пример можно найти на связанной странице MSDN.