Этот вопрос в основном направлен на скомпилированные языки программирования.Это просто из любопытства, потому что я считаю, что прирост производительности при использовании одного из двух операторов будет очень малым.
Рассмотрим цикл for, когда при выполнении определенного условия вы хотите сохранить trueв логическом:
b = false
for i in 1..N:
if someCondition(i):
b = true
moreThatNeedsToBeDone(i)
endfor
Теперь рассмотрим то же самое для цикла с OR EQUAL вместо
b = false
for i in 1..N:
if someCondition(i):
b |= true
moreThatNeedsToBeDone(i)
endfor
Если условие выполнено более одного раза, будет ли последнее быстрее в теории?Или, по крайней мере, он будет делать меньше операций?В общем случае OR EQUAL оценивает переменную, и если она истинна, то она ничего не делает, следовательно, нет никакого дополнительного присваивания по сравнению с оператором EQUAL, где она будет хранить true несколько раз.Но, написав это, я понимаю, что OR EQUAL в любом случае добавляет дополнительную операцию для оценки / чтения текущего значения переменной.Итак, что будет быстрее или меньше операций?