|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
28.03.2013, 22:22 | #1 |
Форумчанин
Регистрация: 09.06.2009
Сообщений: 545
|
определить время сортировки
Здравствуйте. у меня не получается вывести время сортировки в textBox. есть 2 backgroundWorker и 2 textBox, в каждом из них свой метод сортировки. при нажатии на кнопку начать начинается сортировка массива и по завершении в textBox надо вывести время сортировки. для определения времени я создал две глобальные переменные и увеличивал их в таймере. но время определяет не правильно. как можно доработать?
вобщем вот что у меня получилось: Код:
|
28.03.2013, 22:47 | #2 |
Старожил
Регистрация: 31.05.2010
Сообщений: 13,543
|
Да когда-ж вы научитесь поиском пользоваться ТЫК.
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder |
29.03.2013, 10:43 | #3 |
Форумчанин
Регистрация: 29.10.2009
Сообщений: 259
|
А использовать класс Stopwatch ни пробовал? Код с MSDN:
Код:
Из всех классических книг, посвященных программированию, ненавижу всего одну - русский перевод книги Роберта Седжвика-"Фундаментальные алгоритмы C++". Предпочитаю читать её в оригинале.
|
29.03.2013, 16:19 | #4 |
Форумчанин
Регистрация: 09.06.2011
Сообщений: 147
|
Не мое, но источнику я доверяю.
4. Класс Stopwatch (секундомер) Сколько раз вы хотели засечь, сколько времени выполняется кусок кода? Может быть, вы пытались отследить среднее время выполнения запроса или другую подобную информацию, или, возможно, пытались отправить предупреждающее сообщение, когда метод требует более одной секунды для выполнения? Вы могли бы сделать это, используя DateTime: DateTime start = DateTime.Now; SomeCodeToTime(); DateTime end = DateTime.Now; Console.WriteLine("Выполнение метода заняло {0} мс", (end-start).TotalMilliseconds); Но DateTime неточен для такого рода вычислений. Вы можете обратиться к таймеру более высокой точности через Win32 API, но этот способ более «грязный» и подвержен ошибкам. Так что же делать разработчику? Использовать класс Stopwatch, который расположен в пространстве имен System.Diagnostics. Класс Stopwatch упрощает использование высокоточного таймера: var timer = Stopwatch.StartNew(); SomeCodeToTime(); timer.Stop(); Console.WriteLine("Выполнение метода заняло {0} мс", timer.ElapsedMilliseconds); Гораздо более точно. Обратите внимание, что есть статический метод, который создает и запускает секундомер. Также есть возможность создать секундомер с использование new и запустить, когда понадобится.
У женщин чары образуются из стрингов;
А у программистов наоборот - стринги образуются из чаров; |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как определить, какому алгоритму сортировки отдать предпочтение при решении задачи? | Proskurina | Общие вопросы по программированию, компьютерный форум | 2 | 16.11.2012 15:37 |
Сложность и время работы сортировки Шелла | lega4 | Помощь студентам | 0 | 11.04.2011 11:02 |
во время сортировки программа вылетает | MaRKer.nsk | Общие вопросы C/C++ | 3 | 10.04.2010 15:49 |
Время сортировки в Delphi 7 | Александр М | Помощь студентам | 3 | 19.11.2008 22:50 |
измерить время сортировки | Cyberbest | Помощь студентам | 1 | 01.05.2008 19:30 |