PROJET AUTOBLOG


shaarli-Links

Site original : shaarli-Links

⇐ retour index

Advent of Code 2020 - 10 enseignements et bonnes pratiques en PHP

jeudi 21 janvier 2021 à 14:02

Se passer des « if »
Oui, ... mais non.
Niveau optimisation des actions, c'est pas top.

// avec if
$count = 0;
foreach ($data as $value) {
    if ($value === CONTROL_VALUE) {// 1 action
        $count++; // 1 action si condition vrai
    }
}
// sans if
$count = 0;
foreach ($data as $value) {
    $count += (int) ($value === CONTROL_VALUE);// 3 actions quelques soit la valeur de value
    /*
    += : 1 action
    (int) : 1 action
    === : 1 action
    */
}

Bloquez et cassez vos while
C'est débile les while true. Ça consomme des ressources pour rien.

$block = 0; // 1 action
while (true) { // 1 action
    $block++; // 1 action
    if ($block > 1000) { // 1 action
        break; // 1 action
    }
}

3 actions par tour de boucle.

$block = 0; // 1 action
while ($block < 1001) { // 1 action
    $block++; // 1 action
}

2 actions par tour de boucle.
Permalink