Модераторы: Snowy, MetalFan, bems, Poseidon
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Отсчёт времени сортировки. 
V
    Опции темы
IamDreamer
Дата 3.4.2008, 21:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 867
Регистрация: 6.6.2005

Репутация: нет
Всего: 7



Какой объект может замерить время, которое понадобилось для отсортировки массива? Timer? Как выглядит процедура определения текущего времени? 
PM MAIL WWW Jabber   Вверх
Данкинг
Дата 3.4.2008, 21:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: 11
Всего: 130



Функция  time()   - текущее время. smile 
Засекаешь время до начала сортировки и сравниваешь его со временем окончания.


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
IamDreamer
Дата 3.4.2008, 21:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 867
Регистрация: 6.6.2005

Репутация: нет
Всего: 7



Ну это я и хотел. Спасибо.

Добавлено через 1 минуту и 30 секунд
Цитата(Данкинг @  3.4.2008,  21:17 Найти цитируемый пост)
сравниваешь его со временем окончания.

А это как организовать (сравнение времён)? 
PM MAIL WWW Jabber   Вверх
Данкинг
Дата 3.4.2008, 22:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: 11
Всего: 130



Цитата(IamDreamer @ 3.4.2008,  22:20)
А это как организовать (сравнение времён)?

Вычитаешь конечное из начального. А что там получится - сразу не скажу, пробовать надо.


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
Alexeis
Дата 3.4.2008, 22:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 34
Всего: 459



  Только проще будет при помощи GetTickCount() - он дает сразу время в мс от старта винды. Нужно вычесть значение первого из второго полученного после сортировки.


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
THandle
Дата 3.4.2008, 22:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Хранитель Клуба
Group Icon
Награды: 1



Профиль
Группа: Админ
Сообщений: 3639
Регистрация: 31.7.2007
Где: Moscow, Dubai

Репутация: 50
Всего: 372



IamDreamer, время сортировки массива настолько мало, что врядли тут тебе чем то Time поможетб скорее всего всегда будет 0.000000... smile 

попробуй GetTickCount, хотя тоже вполне возможен 0 результат.

Например на сортировке Хоара из соседней темы такой код:


Код

...
var
  ...
  Start, Finish : integer;
Begin
  ...
  Start := GetTickCount;
  Sort(...);
  Finish := GetTickCount;
  ...
  Writeln('Tick Count: ',  finish - start);
end;


Написал ноль.





Это сообщение отредактировал(а) THandle - 3.4.2008, 22:31
PM   Вверх
Alexeis
Дата 3.4.2008, 22:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 34
Всего: 459



THandle, все зависит от размера массива. Если он на 200000 элементов, то хватит точности. 


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
1Andrey1
Дата 3.4.2008, 23:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 78
Регистрация: 8.9.2007

Репутация: 2
Всего: 4



я гдето читал что GetTickCount не срабатывает, если время меньше 15 милисекунд
PM MAIL ICQ   Вверх
Alexeis
Дата 3.4.2008, 23:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 34
Всего: 459



Цитата(1Andrey1 @  3.4.2008,  22:30 Найти цитируемый пост)
я гдето читал что GetTickCount не срабатывает, если время меньше 15 милисекунд

  Ага, только не 15,  а 10, но вообще зависит от настроек системы. Если время работы 200-300мс, то погрешность мало заметна. 


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
IamDreamer
Дата 4.4.2008, 06:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 867
Регистрация: 6.6.2005

Репутация: нет
Всего: 7



THandle, не совсем: сортировка 10 элементов - это проверка правильности алгоритма, а на время сортировать надо массивы с гораздо большей размерностью.

Добавлено через 55 секунд
За GetTickCount спасибо.
PM MAIL WWW Jabber   Вверх
IamDreamer
Дата 4.4.2008, 07:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 867
Регистрация: 6.6.2005

Репутация: нет
Всего: 7



Цитата(Alexeis @  3.4.2008,  22:26 Найти цитируемый пост)
Нужно вычесть значение первого из второго полученного после сортировки

Не наоборот?
PM MAIL WWW Jabber   Вверх
Alexeis
Дата 4.4.2008, 09:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 34
Всего: 459



Цитата(IamDreamer @  4.4.2008,  06:20 Найти цитируемый пост)
Не наоборот? 

  Неа. Могучий русский язык smile


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
Rennigth
Дата 4.4.2008, 11:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1708
Регистрация: 21.6.2004
Где: Moscow

Репутация: 15
Всего: 76



Цитата(THandle @  3.4.2008,  22:26 Найти цитируемый пост)
IamDreamer, время сортировки массива настолько мало, что врядли тут тебе чем то Time поможетб скорее всего всегда будет 0.000000...  

попробуй GetTickCount, хотя тоже вполне возможен 0 результат.

Например на сортировке Хоара из соседней темы такой код:


Цитата(Alexeis @  3.4.2008,  22:36 Найти цитируемый пост)
THandle, все зависит от размера массива. Если он на 200000 элементов, то хватит точности.  

бррр... все сошли сума... а сделать много итераций нельзя конечно...  smile 



--------------------
(* Honesta mors turpi vita potior *)
PM MAIL ICQ   Вверх
IamDreamer
Дата 4.4.2008, 17:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 867
Регистрация: 6.6.2005

Репутация: нет
Всего: 7



Цитата(Alexeis @  4.4.2008,  09:06 Найти цитируемый пост)
  Неа. Могучий русский язык =)

И впрямь.

PM MAIL WWW Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Для новичков"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0643 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.