Performancefrage bei deklaration einer variable

Paspirgilis

Weißer Powerranger
Hi,
Was ist Performanter?

A:
PHP:
		if(empty($row['ips']))
			$delimiter = '';
		else
			$delimiter = ', ';

B:
PHP:
		$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
 
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!
 
Zuletzt bearbeitet:
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.
 
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!
 
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.
 
So, dann hab ich mal etwas Zeit meines Lebens verschwendet :D

// 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:
<?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_start, 5);
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ß
 
Zurück