Was ist schneller?

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Was ist schneller?

    Was ist schneller beim parsen?

    PHP-Code:
    if( empty($wert) ) 
    oder

    PHP-Code:
    if( $wert=='' 
    Das ist ja eigentlich die selbe "Frage", oder?

    Kann man das so überhaupt aussagekräftig messen?
    Gruß,
    Peter

  • #2
    Re: Was ist schneller?

    Und vor allem - was ist daran eigentlich SQL, an der Frage ...?

    *verschieb*
    I don't believe in rebirth. Actually, I never did in my whole lives.

    Kommentar


    • #3
      Was ist schneller beim parsen?
      beim parsen? du meinst die zeit, die benötigt wird, um die syntaktische richtigkeit der php-datei zu überprüfen und den code an den compiler zu übergeben?

      welche rolle spielt das? vielleicht sollte man sich die frage stellen, was _geeigneter_ ist?

      Kommentar


      • #4
        Vielleicht habe ich mich schlecht oder falsch ausgedrückt.

        Welche Abfrage wird schneller durchlaufen und "überprüft"?
        Gruß,
        Peter

        Kommentar


        • #5
          vermutlich die zweite. aber ich verstehe trotzdem nicht, warum das wichtig sein soll.

          Kommentar


          • #6
            OffTopic:
            ForenpostingMitPerformancefrageBewertungsfaustregel:

            Wer Fragen nach der Performance solcher Kinkerlitzchen stellt, der programmiert vermutlich noch nicht mal ansatzweise performant.
            Andernfalls, wenn er wirklich und zu Recht an einer Applikation arbeiten würde, bei der dieses Quentchen entscheidend ist, sollte er diese Frage gar nicht mehr stellen müssen.
            I don't believe in rebirth. Actually, I never did in my whole lives.

            Kommentar


            • #7
              es ist auch wichtig ob die Variable überhaupt existiert.
              wenn du
              bei dem script anfang
              if(empty($_GET['wert']))
              aufrufst dann wird es schneller als
              if($_GET['wert']=='')

              wenn aber die existenz von variable schon bewiesen ist, dann ist
              die zweite Variante schneller

              ausserdem wenn Variable nicht existiert, bekommst du bei eingeschalteten
              error_reporting(E_ALL);
              bei zweter Variante sofort eine Notiz
              Slava
              bituniverse.com

              Kommentar


              • #8
                Kann man das so überhaupt aussagekräftig messen?
                Bau dir doch ein Testscript. Lass eine Schleife 100'000 durchlaufen und mach die Abfrage innerhalb der Schleife.
                Miss die Zeit und schaue ob du auf nennenswerte Unterschiede kommst

                Gruss

                tobi

                p.s. @ Slava
                bei zweter Variante sofort eine Notiz
                Solltest du aber imho auch bei erster Version erhalten. Das kannst du nur mit isset() umgehen.
                Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

                [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
                Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

                Kommentar


                • #9
                  Original geschrieben von jahlives
                  [p.s. @ Slava

                  Solltest du aber imho auch bei erster Version erhalten. Das kannst du nur mit isset() umgehen. [/B]
                  wollen wir wetten?
                  Slava
                  bituniverse.com

                  Kommentar


                  • #10
                    Sorry haste recht. Kurz das Man aufgemacht, gelesen und gesehen.
                    empty() is the opposite of (boolean) var, except that no warning is generated when the variable is not set.
                    Gruss

                    tobi
                    Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

                    [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
                    Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

                    Kommentar


                    • #11
                      empty ist eigentlich eine komische function.
                      die ist nicht ausreichend um Existenz einer variable festzustellen, ist auch nicht eindeutig um zu sagen, dass variable leer ist, da es keine variable mit diesem Namen geben kann.


                      Edit: ich habe Schreibfehler korregiert
                      Zuletzt geändert von Slava; 20.09.2006, 21:59.
                      Slava
                      bituniverse.com

                      Kommentar


                      • #12
                        Eigentlich ist keine Funktion sondern ein Sprachkonstrukt. Wäre es eine Fkt dann müsste folgendes gehen
                        PHP-Code:
                        if(empty(trim($var))){
                            
                        //geht nicht 
                        Grüässli

                        tobi
                        Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

                        [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
                        Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

                        Kommentar


                        • #13
                          einverstanden
                          Slava
                          bituniverse.com

                          Kommentar


                          • #14
                            also eigentlich testet man das einfach mit if(!$var){...

                            p.s.: wahrscheinlich wird bei if($="") ein neuer (leerer) konstanter string angelegt, also ein neues objekt zum vergleich. müsste im ms bereich langsamer sein
                            blllubb

                            Kommentar


                            • #15
                              also eigentlich testet man das einfach mit if(!$var){...
                              Was dir aber je nach error_reporting eine Warnung anzeigen wird...
                              Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

                              [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
                              Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

                              Kommentar

                              Lädt...
                              X