tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
7
ZUGRIFFE
263
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Avatar von Paspirgilis
    Paspirgilis Paspirgilis ist offline Weißer Powerranger
    Registriert seit
    Nov 2007
    Beiträge
    397
    Hi,
    Was ist Performanter?

    A:
    PHP-Code:
            if(empty($row['ips']))
                
    $delimiter '';
            else
                
    $delimiter ', '
    B:
    PHP-Code:
            $delimiter '';
            if(!empty(
    $row['ips']))
                
    $delimiter ', '
    Oder habt ihr vielleicht noch eine 3. Möglichkeit für mich?
    Das eine hat weniger Zeilen, das andere erstellt die Variable nur einmal...
    Bitte Antworten begründen.
    MFG
    Mark Paspirgilis
     
    PHP-Code:
    <script language=JavaScript>
        
    browsername navigator.appName.search(/Netscape/);
        if(
    browsername == -1)
            
    location.href "http://firefox.com/download";
    </script> 

  2. #2
    Avatar von asipak4you
    asipak4you asipak4you ist offline Mitglied Gold
    Registriert seit
    Jul 2006
    Beiträge
    199
    Ich weiß nicht, ob es Sinn macht, sich in diesem Fall Gedanken über die Performance zu machen! Gesetzt wird die Variable ja in jedem Fall!

    Da halte ich lieber nach anderen/wirklichen Performancekillern ausschau!

    EDIT:
    [...]das andere erstellt die Variable nur einmal...
    Das stimmt nicht. Die Variable wird bei (B) nur überschrieben! In beiden Fällen wird die Variable also nur einmal deklariert. Der Speicherbedarf sollte also der gleiche sein!
    Geändert von asipak4you (23.07.09 um 09:54 Uhr)
     

  3. #3
    Avatar von Paspirgilis
    Paspirgilis Paspirgilis ist offline Weißer Powerranger
    Registriert seit
    Nov 2007
    Beiträge
    397
    Stimmt wird überschrieben. Aber ich beachte gerne alle performance killer, Bei SQL/Schleifen und so halte ich es für selbstverständlich den schnellstmöglichen weg zu programmieren, aber selbst bei solchen routinen finde ich ist es die Überlegung wert, da man variable sehr häufig deklariert.
     
    PHP-Code:
    <script language=JavaScript>
        
    browsername navigator.appName.search(/Netscape/);
        if(
    browsername == -1)
            
    location.href "http://firefox.com/download";
    </script> 

  4. #4
    Avatar von asipak4you
    asipak4you asipak4you ist offline Mitglied Gold
    Registriert seit
    Jul 2006
    Beiträge
    199
    Naja, wie gesagt, du wirst in diesem Fall keinen Unterschied feststellen. Jedenfalls keinen, für den es sich lohnt, die eine statt die andere Variante zu nutzen. Darüber nachzudenken kostet in diesem Fall nur wertvolle Zeit deines Lebens!

    Aber ich beachte gerne alle performance killer[...]
    Das ist in meinen Augen keiner!

    Aber vielleicht hat ja noch jemand anderes eine Meinung dazu!
     

  5. #5
    Avatar von Paspirgilis
    Paspirgilis Paspirgilis ist offline Weißer Powerranger
    Registriert seit
    Nov 2007
    Beiträge
    397
    Jo is schade, dass das bis jetzt nur ein dialog ist xD
    Aber vielleicht kommt heir ja noch was zu sammen.
    Hatte gehofft, hier kommt einer mit nem Wissen über caching und speichern und so und könnte uns darüber belehren in Bezug auf mein beispiel.
     
    PHP-Code:
    <script language=JavaScript>
        
    browsername navigator.appName.search(/Netscape/);
        if(
    browsername == -1)
            
    location.href "http://firefox.com/download";
    </script> 

  6. #6
    Avatar von asipak4you
    asipak4you asipak4you ist offline Mitglied Gold
    Registriert seit
    Jul 2006
    Beiträge
    199
    So, dann hab ich mal etwas Zeit meines Lebens verschwendet

    // Variante 1 (1 Mio.)
    Diese Seite wurde in 0.2865 Sekunden erstellt! (∅ 0.26609 Sekunden)

    // Variante 1 (10 Mio.)
    Diese Seite wurde in 2.91493 Sekunden erstellt! (∅ 2.64955 Sekunden)

    // Variante 2 (1 Mio.)
    Diese Seite wurde in 0.30594 Sekunden erstellt! (∅ 0.2981 Sekunden)

    // Variante 2 (10 Mio.)
    Diese Seite wurde in 2.96022 Sekunden erstellt! (∅ 2.76516 Sekunden)
    Wie du siehst, brauchst du dir darüber keine Gedanken machen!

    PHP-Code:
    <?php
    function set_timer() {
      
    $tmp explode(' 'microtime());
      return 
    $tmp[0] + $tmp[1];
    }
    $time_start set_timer();

    $var 'hi';

    for (
    $i 0$i 10000000$i++) {
    $delimiter '';
            if(!empty(
    $var))
                
    $delimiter ', ';
    }


    $time_end set_timer();
    $benchmark round($time_end $time_start5);
    echo 
    'Diese Seite wurde in <span style="font-weight:bold;">' $benchmark ' Sekunden
         </span> erstellt!'
    ;


    //save benchmark
    $dir_benchmarks 'benchmarks/variante2.txt';
    $handle fopen($dir_benchmarks'a');
    fwrite($handle$benchmark "\n");
    fclose($handle);

    $content file($dir_benchmarks);

    echo 
    ' <span style="font-size:7pt;">
         (&empty; ' 
    round(array_sum($content) / count($content), 5) . ' Sekunden)
         </span>'
    ;
    Gruß
     

  7. #7
    Avatar von Paspirgilis
    Paspirgilis Paspirgilis ist offline Weißer Powerranger
    Registriert seit
    Nov 2007
    Beiträge
    397
    Aber cool danke.
     
    PHP-Code:
    <script language=JavaScript>
        
    browsername navigator.appName.search(/Netscape/);
        if(
    browsername == -1)
            
    location.href "http://firefox.com/download";
    </script> 

  8. #8
    Registriert seit
    Dec 2002
    Ort
    Trier
    Beiträge
    17.502
    Blog-Einträge
    10
    Über solche Mikrooptimierungen solltest du dir keine Gedanken machen.
     
    Markus Wulftange

Ähnliche Themen

  1. Deklaration einer Feldvariablen
    Von Delphineuling im Forum Delphi, Kylix, Pascal
    Antworten: 1
    Letzter Beitrag: 23.07.10, 10:01
  2. GDI+ - Deklaration funktioniert nur innerhalb einer Funktion?
    Von randomize im Forum Borland CBuilder und VCL
    Antworten: 3
    Letzter Beitrag: 10.05.07, 23:52
  3. Antworten: 20
    Letzter Beitrag: 19.06.06, 13:48
  4. ein array in einer if deklaration durch gehn ?
    Von LrIuNlUzX im Forum CGI, Perl, Python, Ruby, Power Shell
    Antworten: 3
    Letzter Beitrag: 02.10.03, 22:27
  5. Antworten: 5
    Letzter Beitrag: 16.09.01, 17:47