Это, безусловно, тривиальный случай, и оба могут действительно воплотиться в один и тот же код.Я бы предложил использовать тот, который легче понять - решение, которое должно основываться на большей части программы, чем вы показали здесь.
Но второе решение будет быстрее, особенно если "дельта "превращается в постоянную.Если «some_condition» имеет значение false, добавление не требуется, и optmizer может найти способ ускорить фактические назначения, так что я вижу преимущество в производительности.Я думаю, что лучше всего написать самый быстрый код, который вы можете, если вы не повредите удобству обслуживания.Даже с чем-то с гораздо большей разницей в производительности, чем эта, вы реально никогда не вернетесь позже в поисках способов ускорить это.Вы можете также написать код производительности и забыть об этом.Продолжайте в том же духе, и ваш код будет работать быстрее без каких-либо затрат для вас.
Возможно, когда-нибудь профилирование укажет на этот код как на самую медленную точку в вашей программе.Но, скорее всего, вы - и другие - просто примете факт, что код работает с определенной скоростью, и будете использовать его соответствующим образом.О том, что его можно ускорить и использовать в новых местах - скажем, между нажатиями клавиш, - не раздражает пользователя.
Разница в производительности здесь незначительна, и код, вероятно, никогда не будетв любом случае используется в условиях, критических для скорости, но я думаю, что кодирование для скорости - хорошая идея.Это не займет много времени, как только вы привыкнете, и вы знаете, что может сделать ваш код, если он настроен, потому что он уже настроен и делает это.это одно и то же. Если человек может легко понять код, то может оптимизатор, и в наши дни оптимизатор - король. В тех редких случаях, когда мне приходится выбирать, я делаю это для ясности, а не для скорости, если только я знаю все зависит от скорости кода. Затем я документирую как сумасшедший искупить.)