Для чего знать время выполнения? Всегда хочется,чтобы наша программа работала как можно быстрее.
Иногда этого можно добиться просто заменив методы более быстрыми. Например иногда используют для проверки наличия строки в тексте метод IndexOf, тогда как метод Contains как минимум в 2 раза быстрее сделает эту же проверку. Замерив время нескольких методов, которые могут выполнить вашу задачу, логичнее выбрать тот который выполняется быстрее остальных.
Как узнать время выполнения?
Для замеров времени можно использовать класс Stopwatch
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
using System.Diagnostics; Stopwatch watch = new Stopwatch(); watch.Start(); System.Threading.Thread.Sleep(10000); watch.Stop(); MessageBox.Show( "Время выполнения программы в миллисекундах : " + watch.ElapsedMilliseconds + "мс.\r\n"+ "Время выполнения программы в секундах : " + watch.Elapsed.Seconds + "сек.\r\n"+ "Время выполнения программы в Тиках :" + watch.ElapsedTicks+"\r\n" ); //MessageBox.Show("1 тик равен: " + ((1000L * 1000L * 1000L) / Stopwatch.Frequency) + " наносекунд\r\n"); //1 тик равен: 427 наносекунд |
Другой способ при использовании DateTime
1 2 3 4 5 6 7 |
DateTime StartTime; StartTime = DateTime.Now; System.Threading.Thread.Sleep(10000); DateTime EndTime = DateTime.Now; MessageBox.Show("Время работы программы : " + (EndTime - StartTime)); |
Через DateTime никто никогда не замеряет. Научите сейчас горе-программистов.
Рекомендую вам подучить string.Format(), да и Thread.Sleep не самая хорошая идея, надеюсь, вы в проектах это не используете
Благодарю за ваш комментарий, код не мой, вариант с DateTime я заметил на cyberforum и решил пусть лежит в копилке. Может сгодится для чего. Сам его ни разу и не использовал.
Ну а горе-программисты пусть читают ваш комментарий и делают свои выводы.