Ветвь на ?: оператор?C++

Программы на C++. Форум разработчиков
Ответить Пред. темаСлед. тема
Anonymous
 Ветвь на ?: оператор?

Сообщение Anonymous »

Для типичного современного компилятора на современном оборудовании будет ли ? Результатом оператора : является ветвь, которая влияет на конвейер инструкций?

Другими словами, что быстрее, вызывая оба случая, чтобы избежать возможного перехода:

Код: Выделить всё

bool testVar = someValue(); // Used later.
purge(white);
purge(black);
или выбрать тот, который действительно нужно очистить, и сделать это только с помощью оператора ?::

Код: Выделить всё

bool testVar = someValue();
purge(testVar ? white : black);
Я понимаю, что вы понятия не имеете, сколько времени займет purge(), но я просто задаю здесь общий вопрос о том, захочу ли я когда-нибудь вызвать purge() дважды, чтобы избежать возможного ветвления в коде.

Я понимаю, что это очень небольшая оптимизация и может не иметь никакого реального значения, но все равно хотелось бы знать. Я ожидаю, что ?: не приведет к ветвлению, но хочу убедиться, что мое понимание правильное.

Подробнее здесь: https://stackoverflow.com/questions/712 ... n-operator
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C++»