Partage
  • Partager sur Facebook
  • Partager sur Twitter

Les conditions

Différence de rapidité

Sujet résolu
    22 juillet 2006 à 1:07:16

    Bonsoir
    Je suis en train de créer un script que j'optimise au mieux et j'aimerais savoir lequel de ces codes est le plus rapide :
    <?php
        if ( expression )
        {
       
        }
        else
        {
       
        }
    ?>

    OU

    <?php
        if ( expression )
        {
       
        }
       
        if ( !expression )
        {
       
        }
    ?>
    Les deux code ci-dessus donne le même réultat, mais j'aimerai savoir lequel est le plus rapide :o
    Merci</span>
    • Partager sur Facebook
    • Partager sur Twitter
      22 juillet 2006 à 1:09:18

      Le premier à mon avis ;) D'une c'est fait pour, en il n'y a qu'une seule condition à vérifier.
      • Partager sur Facebook
      • Partager sur Twitter
        22 juillet 2006 à 1:09:47

        si je te dis de vérifier 2 trucs ou de n'en vérifier qu'un, lequel te fera le moins bosser ?
        Secret (cliquez pour afficher)
        Celui avec if() else()

        ;)
        • Partager sur Facebook
        • Partager sur Twitter
          22 juillet 2006 à 1:10:56

          Ok, merci
          C'était juste pour vérifier ;)
          • Partager sur Facebook
          • Partager sur Twitter
            22 juillet 2006 à 1:19:48

            J'ai fait un mini benchmark.

            Voici le code utilisé:
            <?php
            <?php
            ini_set('max_execution_time',600);
            $i=0;
            $microtime = microtime(true);
            while ($i++ < 10000000){
             if ($i%4 == 0){
             }
             else{
             }
            }
            $endtime1 = microtime(true);
            $i=0;
            $microtime2 = microtime(true);
            while ($i++ < 10000000){
             if ($i%4 == 0){
             }
             if ($i%4 != 0){
             }
            }
            $endtime2 = microtime(true);
            echo'Time if-else:',($endtime1-$microtime),' secondes';
            echo'<br />Time if-if!:',($endtime2-$microtime2),' secondes';
            ?>


            Et voici les résultats:
            Secret (cliquez pour afficher)
            Time if-else:9.66848301888 secondes
            Time if-if!:15.3943231106 secondes


            le if-!if est 59,2 % plus lent dans mon benchmark !
            On voit à quoi s'en tenir ;)
            • Partager sur Facebook
            • Partager sur Twitter

            Les conditions

            × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
            × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
            • Editeur
            • Markdown