Возможно ли избегнуть много "или" (||) в условиях, вызывающих одно и то же действие? - страница 9

 
borilunad:
Спасибо! Сейчас попробую эти скобочки!
Этот вариант мне сократил на полминуты. А вообще, время могло увеличиться из-за некоторых изменений в алгоритме. Сейчас нет времени проверить досконально, позже проверю и поищу! Спасибо!
 
Vinin:

Только проверять надо все предложенные варианты. Иначе можно ошибиться
Обязательно проверю! Я первый заинтересованный!
 
PapaYozh:

Чтобы предупреждения не мозолили глаза используйте: {}

if (!A && !B && !C && !D) {} //пустой оператор
else Action();


Это всё-равно что чесать затылок пяткой :) Зачем 4 лишние операции и лишняя строчка? Ведь изначальный вариант выглядел так:

if (A || B || C || D) Action();
И особенно забавно, что топикстартер выбрал для тестирования именно ваш вариант из всех предложенных ))
 
Meat:


Это всё-равно что чесать затылок пяткой :) Зачем 4 лишние операции и лишняя строчка? Ведь изначальный вариант выглядел так:

И особенно забавно, что топикстартер выбрал для тестирования именно ваш вариант из всех предложенных ))

Я протестировал все предложенные варианты, и оказалось, что самый быстрый этот: if (A || B || C || D) Action();

Для сокращения времени поступился условиями, нужными очень редко, но в другом блоке, а в этом даже добавил ещё одно, но без bool'ей, которые прибавляли время. Продолжаю перелопачивать всё возможное, ищу оправданные упрощения, пока на демо работает стабильно и без ошибок. Ветка открыта, обязательно поделюсь чем-нибудь интересным или непонятным. Спасибо всем!

 
borilunad:

Я протестировал все предложенные варианты, и оказалось, что самый быстрый этот: if (A || B || C || D) Action();

Интересно, как он мог оказаться быстрее этого:  if (A) Action(); else if (B) Action(); else if (C) Action(); else if (D) Action();

 
Meat:

Интересно, как он мог оказаться быстрее этого:  if (A) Action(); else if (B) Action(); else if (C) Action(); else if (D) Action();

Извините, Алексей, только что вернулся домой! Этот вариант не подходит, т.к., как я уже объяснял выше, Асtion(); это не просто функция исполнения, а вмещает в себе ещё несколько условий, общих для предыдущих, но различных по направлению, и, соответственно, в различной порядке исполняемых функций необходимых действий. Как понимаете, я не мог этим вариантом ещё более утяжелить код. А в принципе я с Вами согласен, что Ваш вариант мог быть быстрее, если бы Action(); просто было бы вызовом одной функции, не более. Спасибо Вам большое за оказанную помощь в моих поисках оптимальных решений! Доброй ночи Вам!
 
borilunad:
Извините, Алексей, только что вернулся домой! Этот вариант не подходит, т.к., как я уже объяснял выше, Асtion(); это не просто функция исполнения, а вмещает в себе ещё несколько условий, общих для предыдущих, но различных по направлению, и, соответственно, в различной порядке исполняемых функций необходимых действий. Как понимаете, я не мог этим вариантом ещё более утяжелить код. А в принципе я с Вами согласен, что Ваш вариант мог быть быстрее, если бы Action(); просто было бы вызовом одной функции, не более. Спасибо Вам большое за оказанную помощь в моих поисках оптимальных решений! Доброй ночи Вам!
Результат, как и стоило ожидать, из разряда: "Шампунь стал ещё более антиперхотистее!!!" :)))
 
TarasBY:
Результат, как и стоило ожидать, из разряда: "Шампунь стал ещё более антиперхотистее!!!" :)))
Если Вам перхоть в волосах ассоциируется с багами в коде, тогда, конечно, стоит свеч ожидать, надеяться, добиваться, искать интересных решений, но не штамповать!
 
borilunad:
Если Вам перхоть в волосах ассоциируется с багами в коде, тогда, конечно, стоит свеч ожидать, надеяться, добиваться, искать интересных решений, но не штамповать!

И Вы этот процесс (на 9-ть страниц) называете "поиском интересных решений"!? :)))

На 1-ой странице - это была помощь на "помогите", а после 2-ой страницы возник интерес - "а как же быстрее". НО ответ на этот вопрос предполагает содержать цифры (я уже не заикаюсь "про чистоту эксперимента" - это условия, обеспечивающие адекватность полученных результатов)... иначе - про "шампунь"! :)))

 
TarasBY:

И вы этот процесс (на 9-ть страниц) называете "поиском интересных решений"!? :)))

На 1-ой странице - это была помощь на "помогите", а после 2-ой страницы возник интерес - "а как же быстрее". НО ответ на этот вопрос предполагает содержать цифры (я уже не заикаюсь "про чистоту эксперимента" - это условия, обеспечивающие адекватность полученных результатов)... :)))

Этот вопрос о скорости меня и подвинул к обращению к уважаемым форумчанам, "как избегнуть много "или"...", т.к. полагал, что это вызывает потерю во времени. А если некоторых двигает вступать в полемику из-за своих амбиций или настойчивой рекламы своих разработок, то это остаётся их личным делом, и никак ко мне не относится. В любом случае благодарен всем откликнувшимся! И всем же желаю успехов!