Повысьте производительность своего кода с помощью этого простого трюка!

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

Быстрая оценка – это функция языков программирования, позволяющая вычислять выражение только до момента, когда его результат можно определить без вычисления всего выражения. Это может повысить производительность и избежать ошибок в некоторых случаях.

При сокращенном вычислении, если результат выражения может быть определен на основе вычисления части выражения, остальная часть выражения не оценивается.

Языки программирования

Оценка короткого замыкания — это функция, реализованная во многих языках программирования, в том числе:

  1. C/C++
  2. Джава
  3. питон
  4. JavaScript
  5. PHP
  6. Рубин
  7. Перл
  8. Быстрый
  9. Котлин
  10. 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
}

В каждом из этих примеров второй операнд логического выражения И или ИЛИ не оценивается, если первого операнда достаточно для определения результата. Это может сэкономить время и предотвратить ненужные вычисления.

Спасибо за ваше время! 😄

Смело ставьте 👏 и подписывайтесь! 🙏