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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Что будет быстрее> 
V
    Опции темы
Ak47black
  Дата 20.8.2007, 14:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2205
Регистрация: 2.12.2005

Репутация: 1
Всего: 0



Привет всем.
Вообшем как вы думаете какой код будет быстрей (если можно поясните) или они одно и тоже.
Вот такой 
Код

if ( (VLeft = left)and(VTop = top)and(VRight = right)and(VBottom = bottom)

Или вот такой
Код

if (VLeft = left) then
  if  ((VTop = top)and(VRight = right)and(VBottom = bottom))

 smile 
Все переменные Integer.
Как вообше он будет сравнивать ?
Будет-ли по разному скомпилировано на Cи и на Delphi ?
PM MAIL   Вверх
Rennigth
Дата 20.8.2007, 14:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Ak47black, если не стоит в опциях проекта галка, вроде"Complete boolean eval", то одинаково работать будет. При False первого условия дальше проверяться не будет.

Добавлено через 4 минуты и 48 секунд
Хотя ща посмотрим, как оптимизатор поступит с кодом...

Добавлено через 5 минут и 31 секунду
Цитата(Ak47black @  20.8.2007,  14:41 Найти цитируемый пост)
Будет-ли по разному скомпилировано на Cи и на Delphi ? 

В си не силен, но скорее всего также как в делфи smile


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


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2205
Регистрация: 2.12.2005

Репутация: 1
Всего: 0



Если есть кто в дровах силён то как будет если в DDK компилить?

Добавлено через 4 минуты и 5 секунд
Цитата

Хотя ща посмотрим, как оптимизатор поступит с кодом...

А ты под какой тулзой смотришь DeDe OllyDbg или чтото другое?
PM MAIL   Вверх
Rennigth
Дата 20.8.2007, 15:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



И что мы видим? B там и там вот это smile 
Код

00457EE9 8BC3             mov eax,ebx
00457EEB E8CC63FFFF       call TCustomForm.GetLeft
00457EF0 3BF0             cmp esi,eax
00457EF2 7537             jnz $00457f2b
00457EF4 8BC3             mov eax,ebx
00457EF6 E8E163FFFF       call TCustomForm.GetTop
00457EFB 3BF8             cmp edi,eax
00457EFD 752C             jnz $00457f2b
00457EFF 8D542404         lea edx,[esp+$04]
00457F03 8BC3             mov eax,ebx
00457F05 8B08             mov ecx,[eax]
00457F07 FF5144           call dword ptr [ecx+$44]
00457F0A 3B6C240C         cmp ebp,[esp+$0c]
00457F0E 751B             jnz $00457f2b
00457F10 8D542414         lea edx,[esp+$14]
00457F14 8BC3             mov eax,ebx
00457F16 8B08             mov ecx,[eax]
00457F18 FF5144           call dword ptr [ecx+$44]
00457F1B 8B442420         mov eax,[esp+$20]
00457F1F 3B0424           cmp eax,[esp]
00457F22 7507             jnz $00457f2b


Сравнивал вот это:
Код

var
  lleft, ltop, lright, lbottom: Integer;
begin
//  if (lleft = Left) and (ltop = Top) and (lright = ClientRect.Right) and
//    (lbottom = ClientRect.Bottom) then
  if (lleft = Left) then
    if (ltop = Top) and (lright = ClientRect.Right) and
    (lbottom = ClientRect.Bottom) then


Добавлено @ 15:03
Цитата(Ak47black @  20.8.2007,  14:56 Найти цитируемый пост)
А ты под какой тулзой смотришь DeDe OllyDbg или чтото другое? 

View CPU smile

Это сообщение отредактировал(а) Rennigth - 20.8.2007, 15:05


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


Code Monkey
*


Профиль
Группа: Участник
Сообщений: 133
Регистрация: 29.1.2007
Где: Москва

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



Цитата(Ak47black @  20.8.2007,  16:26 Найти цитируемый пост)
А ты под какой тулзой смотришь DeDe OllyDbg или чтото другое

Ctrl+Alt+C
PM MAIL   Вверх
Ak47black
Дата 20.8.2007, 15:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2205
Регистрация: 2.12.2005

Репутация: 1
Всего: 0



Rennigth
sentry
Спасиб +.
PM MAIL   Вверх
Coder
Дата 21.8.2007, 02:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(Ak47black @  20.8.2007,  22:41 Найти цитируемый пост)
Будет-ли по разному скомпилировано на Cи и на Delphi ?

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

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

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

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

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


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

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


 




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


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

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