Подпишись на канал фаундера и разработчика экосистемы tonpie
Есть ли в FunC оптимизации для пропуска вычисления условия?
-
Предположим, мы проверяем выполнение двух условий одновременно:
if( (a == b) & (b == c) )
.Если
a
не равноb
, это делает первое условие ложным. И это означает, что все выражение является ложным независимо от второго условия. Таким образом, при выполнении этого кода, если мы обнаружим, чтоa != b
, мы могли бы гипотетически пропустить вычисление второго условия и сэкономить некоторое компьютерное время (и плату за бензин).Некоторые языки программирования проверяют оба условия независимо от результата первой проверки, а некоторые имеют такую оптимизацию, которая позволяет им пропустить ненужную проверку. Как ведет себя FunC в таких ситуациях?
Этот вопрос был импортирован из чата Telegram: <***Скрыто***
click to show