Повысьте производительность своего кода с помощью этого простого трюка!
Как знание того, как работает ваш язык программирования, может повысить производительность и избежать ошибок в определенных случаях.
Быстрая оценка – это функция языков программирования, позволяющая вычислять выражение только до момента, когда его результат можно определить без вычисления всего выражения. Это может повысить производительность и избежать ошибок в некоторых случаях.
При сокращенном вычислении, если результат выражения может быть определен на основе вычисления части выражения, остальная часть выражения не оценивается.
Языки программирования
Оценка короткого замыкания — это функция, реализованная во многих языках программирования, в том числе:
- C/C++
- Джава
- питон
- JavaScript
- PHP
- Рубин
- Перл
- Быстрый
- Котлин
- Go
Во всех этих языках краткое вычисление работает аналогичным образом, оценивая только минимальное количество выражений, необходимых для определения конечного результата.
Например, в логическом выражении И, если первый операнд ложен, то все выражение ложно независимо от значения второго операнда. В этом случае второй операнд не оценивается, поскольку его значение не повлияет на общий результат выражения.
Точно так же в логическом выражении ИЛИ, если первый операнд истинен, то все выражение истинно независимо от значения второго операнда. В этом случае второй операнд не оценивается, поскольку его значение не повлияет на общий результат выражения.
Ускоренная оценка часто используется для повышения производительности кода, включающего выражения с несколькими условиями, особенно в тех случаях, когда оценка всех условий может быть дорогостоящей или привести к ошибкам.
Как это работает
Например, в Swift ускоренная оценка также реализована для логических выражений с использованием операторов &&
(логическое И) и ||
(логическое ИЛИ). Вот некоторые примеры:
// Short-circuit evaluation with logical AND (&&) let a = true let b = false let c = true if a && b { // This code will not execute because b is false } if b && a { // This code will not execute because b is false } if a && c { // This code will execute because both a and c are true } // Short-circuit evaluation with logical OR (||) if a || b { // This code will execute because a is true } if b || a { // This code will execute because a is true } if b || c { // This code will execute because c is true, even though b is false }
В каждом из этих примеров второй операнд логического выражения И или ИЛИ не оценивается, если первого операнда достаточно для определения результата. Это может сэкономить время и предотвратить ненужные вычисления.
Спасибо за ваше время! 😄
Смело ставьте 👏 и подписывайтесь! 🙏