HLFX.Ru Forum
профиль •  правила •  регистрация •  календарь •  народ •  FAQ •  поиск •  новое •  сутки •  главная •  выход  
HLFX.Ru Forum HLFX.Ru Forum > Наш форум > Технические вопросы > Вопрос оптимизации
  Предыдущая тема   Следующая тема
Автор
Тема Новая тема    Ответить
fire64
Житель форума

Дата регистрации: Apr 2007
Проживает: Москва
Сообщений: 2362
Возраст: 35

Рейтинг



Вопрос оптимизации

Какой вариант будет работать быстрее ?

C++ Source Code:
1
if( a != b || c !=d )
2
{
3
  printf( "Bad\n" );
4
}
5
else
6
{
7
  printf( "Good\n" );
8
}


C++ Source Code:
1
if( a == b && c ==d )
2
{
3
  printf( "Good\n" );
4
}
5
else
6
{
7
  printf( "Bad\n" );
8
}


правильно ли я понимаю, что первый, так как в случае если a не равно b, то проверка c и d уже выполняться не будет ?

__________________
Вся сила лысого кощея,
Сокрыта в башне из костей
Воздвигнутой, под небесами
На месте похорон людей

Сообщить модератору | IP: Записан
Сообщение: 76135

Старое сообщение 16-04-2011 19:02
- За что?
 XaeroX
Crystice Softworks

Дата регистрации: Oct 2005
Проживает: Торонто
Сообщений: 35057
Нанёс повреждений: 514 ед.
Возраст: 39

Рейтинг



Награды
 
[1 награда]


Цитата:
fire64 писал:
правильно ли я понимаю, что первый, так как в случае если a не равно b, то проверка c и d уже выполняться не будет ?

Вообще говоря, варианты идентичны. Сначала выполняется первая проверка, если она проходит в первом варианте - то управление передается на первую ветку, или наоборот, если не проходит во втором варианте - управление передается на вторую ветку. И в обоих случаях второе условие вычислять незачем.
А вот если ветки else не будет - то первый вариант, видимо, быстрее. Но это уже совсем разные условия будут.

__________________

Сообщить модератору | IP: Записан
Сообщение: 76144

Старое сообщение 16-04-2011 20:11
-
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 33059
Нанёс повреждений: 392 ед.

Рейтинг



Быстрее вот такой вариант:

C++ Source Code:
printf( %s\n", ( a == b && c == d ) ? "good" : "bad" );

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'

Сообщить модератору | IP: Записан
Сообщение: 76149

Старое сообщение 16-04-2011 21:37
-
Тема: (Опционально)
Ваш ответ:



Переводчик транслита


[проверить длину сообщения]
Опции: Автоматическое формирование ссылок: автоматически добавлять [url] и [/url] вокруг интернет адресов.
Уведомление по E-Mail: отправить вам уведомление, если кто-то ответил в тему (только для зарегистрированных пользователей).
Отключить смайлики в сообщении: не преобразовывать текстовые смайлики в картинки.
Показать подпись: добавить вашу подпись в конец сообщения (только зарегистрированные пользователи могут иметь подписи).

Временная зона GMT. Текущее время 20:26. Новая тема    Ответить
  Предыдущая тема   Следующая тема
HLFX.Ru Forum HLFX.Ru Forum > Наш форум > Технические вопросы > Вопрос оптимизации
Версия для печати | Отправить тему по E-Mail | Подписаться на эту тему

Быстрый переход:
Оцените эту тему:

Правила Форума:
Вы not можете создавать новые темы
Вы not можете отвечать в темы
Вы not можете прикреплять вложения
Вы not можете редактировать ваши сообщения
HTML Код ВЫКЛ
vB Код ВКЛ
Смайлики ВКЛ
[IMG] Код ВКЛ
 

< Обратная связь - HLFX.ru >

На основе vBulletin
Авторское право © 2000 - 2002, Jelsoft Enterprises Limited.
Дизайн и программирование: Crystice Softworks © 2005 - 2024