![]() |
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]() ![]() ![]() |
|
ivan219 |
|
||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1121 Регистрация: 19.11.2005 Где: Планета земля Репутация: 2 Всего: 12 |
Оба кода делают одно и тоже но кто быстрее присвоит E:=5 или E так и останится в первоначальном состоянии ![]() |
||||
|
|||||
Guedda |
|
|||
![]() Подрывник ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3137 Регистрация: 27.12.2005 Где: Ростов-на-Дону Репутация: 14 Всего: 78 |
Сделай два варианта через GetTickCount... И посмотри, что быстрее...
-------------------- Ll 2 |
|||
|
||||
Zlo |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 235 Регистрация: 18.9.2004 Репутация: 1 Всего: 1 |
Еще мона дизасемблировать и посмотреть какой код длиннее
![]() |
|||
|
||||
ivan219 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1121 Регистрация: 19.11.2005 Где: Планета земля Репутация: 2 Всего: 12 |
![]() |
|||
|
||||
Zlo |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 235 Регистрация: 18.9.2004 Репутация: 1 Всего: 1 |
Да это долго блин....
Добавлено @ 22:44 поидеи можно сравнение заменить сложением + одно сравнение это должно занять куда меньше тактов проца! например так: E:=A+B+C+D; if E=10 then.... Это сообщение отредактировал(а) Zlo - 13.5.2006, 22:45 |
|||
|
||||
ivan219 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1121 Регистрация: 19.11.2005 Где: Планета земля Репутация: 2 Всего: 12 |
А как ей пользоватся ![]() |
|||
|
||||
Guedda |
|
|||
![]() Подрывник ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3137 Регистрация: 27.12.2005 Где: Ростов-на-Дону Репутация: 14 Всего: 78 |
Вот так:
-------------------- Ll 2 |
|||
|
||||
ivan219 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1121 Регистрация: 19.11.2005 Где: Планета земля Репутация: 2 Всего: 12 |
![]() ![]() Даже когда все переменные =0 и если они не равны 0 т.е. удвлитворяют условиям ![]()
|
|||
|
||||
Демо |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1278 Регистрация: 3.11.2005 Репутация: 30 Всего: 50 |
А потому что нужно замеры в цикле делать. Например 1000000 циклов для каждого варианта. -------------------- |
|||
|
||||
Тутанхамец |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 612 Регистрация: 10.10.2005 Где: в пирамидЕ! Репутация: 1 Всего: 6 |
Функция возвращает число миллисекунд. Значит, как я понимаю, всё дело занимает меньше миллисекунды. Чтоб занимало больше миллисекунды можно выполнять оба кода в цикле.
Если пощелкать по кнопкам несколько раз, видно, что операция занимает разное количество временив заивисмости, наверное, от состояния системы. У меня лично разница между двумя кодами была неощутимой. Обе кнопки выдавали результат в пределах примерно 609-678. То одна была быстрее, то другая. А я почему-то думал, что первый вариант должен быть быстрее... P.S. Demo, твой кольт был быстрее... ![]() Это сообщение отредактировал(а) Тутанхамец - 14.5.2006, 11:40 |
|||
|
||||
Демо |
|
||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1278 Регистрация: 3.11.2005 Репутация: 30 Всего: 50 |
Вот функции для измерения маленьких промежутков времени:
Применение:
Добавлено @ 12:40 Кроме того, для точных измерений времени, заираченного на выполнение, нужно воспользоваться функцией GetThreadTimes. -------------------- |
||||
|
|||||
Yanis |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2937 Регистрация: 9.2.2004 Где: Москва Репутация: 72 Всего: 111 |
||||
|
||||
Mechanic |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 228 Регистрация: 5.5.2006 Где: Kharkov, Ukraine Репутация: 6 Всего: 7 |
Второй вариант практически равносилен первому при {$B-}
![]() Однако, при "Complete boolean eval" ({$B+}), второй будет медленнее. Это сообщение отредактировал(а) Mechanic - 15.5.2006, 01:38 --------------------
Tell me the extensions of the files You backup and I'll tell You who You are.. ©Mch |
|||
|
||||
drkot |
|
|||
![]() Ищущий ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1042 Регистрация: 5.5.2006 Репутация: 5 Всего: 8 |
Еще и оптимизацию кода стоит отключить, а то и при дизасемблировании разницы не будет
-------------------- Ошибка не становится истиной по причине широкого распространения, как и Истина не становится Ошибкой из-за того, что никто её не видит. |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Delphi: Общие вопросы" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |