NetVision-Technik

Zur?ck   NetVision-Technik > Forum > NetVision-Technik > Off-Topic

Off-Topic Hier ist die allgemeine Plauder-Ecke. Alles, was sonst nirgends reinpasst kommt hier rein

Antwort
 
Themen-Optionen Ansicht
Alt 09.11.2008, 21:18   #1
Cerberus
Administrator
 
Benutzerbild von Cerberus
 
Registriert seit: 07.03.2008
Ort: 3. Bit Links hinter dem Kernel
Alter: 48
Beitr?ge: 9.638
Abgegebene Danke: 1.121
Erhielt 4.498 Danke für 458 Beiträge
Downloads: 18
Uploads: 9
Nachrichten: 2257
Renommee-Modifikator:
10 Cerberus genießt hohes AnsehenCerberus genießt hohes AnsehenCerberus genießt hohes AnsehenCerberus genießt hohes AnsehenCerberus genießt hohes AnsehenCerberus genießt hohes AnsehenCerberus genießt hohes AnsehenCerberus genießt hohes AnsehenCerberus genießt hohes AnsehenCerberus genießt hohes AnsehenCerberus genießt hohes Ansehen
Standard echo vs print

so -- da hier scheinbar alle darauf rumreiten (aus welchem Grunde auch immer) habe ich mir mal Fach kompetenten Rat geholt ...
http://www.peppies-life.de/2008/07/1...int-benchmark/

Zitat:
Ich möchte heut mal ein Benchmark zwischen den PHP-Ausgabefunktionen echo und print starten. Dazu kommt noch, verwende ich zur Ausgbe (doppelte Anführungsstriche) oder (einfache Anführungsstriche). Als damals Patrick bei uns in der Firma angefangen hatte, hatte er mich mal gefragt wieso ich immer “print” zur Ausgabe benutze. Ehrlich gesagt ist mir da kein “sinnvoller” Grund eingefallen, da sagte ich dann nur, das ich es viel ansprechender/übersichtlicher als echo finde … Die Unterschiede

Konstrukt
Große Unterschiede gibt es eingetlich bei den 2 Aufrufen nicht. Print ist eine Funktion, sogar mit einem Rückgabewert, echo ist wiederum keine Funktion sondern ein Sprachkonstrukt.
Speed
Auch beim Speed gibt es nur geringe unterschiede die wir aber später noch sehen werden.

Der Aufruf

echo kann wie folgt aufgerufen werden:
PHP-Code:
echo "Zeichenkette1";
echo 
"Zeichenkette1","Zeichenkette2"
Der Aufruf in Zeile 2 verkettet x beliebige Zeichenketten miteinander. Da print eine Funktion mit einem Parameter ist, kann man damit solch eine Verkettung nicht durchführen. Zeile 2 im folgende Beispiel soll euch zeigen wie man es mit print realisieren könnte
PHP-Code:
print "Zeichenkette1";
print(
"Zeichenkette1");
print 
"Zeichenkette1"."Zeichenkette2"
Die einzige Möglichkeit 2 oder x Zeichenketten mit print zu verknüpfen würde hier über den . (Punkt)Operator laufen. Aber welche Ausgabemethode ist nun schneller?
Speed/Speedtest

Auf einer Seite mit 40 PHP-Optimierungen habe ich mal gelesen das echo “weitaus” schneller ist als print. Wir hatten zu dem Zeitpunkt damals dann alle, aber echt alle Ausgaben in ticCity von print auf echo umgeschrieben (es lebe die Find in Files Funktion) aber im endeffekt hat man nicht gemerkt was mich jetzt zu diesem Test und Beitrag führt. Als Beispiel habe ich eine Ausgabe generieren lassen die 10.000 mal das gleiche macht, der einzige unterschied, einmal mit echo und print. Hier der Durchschnitt der einzelnen Tests:
“echo” 0.12740409374237 Sekunden
und
“print” 0.15307259559631 Sekunden
Man kann hier richtig schön erkennen das print gut 0.05 Sekunden langsamer ist. Der erste Test lief auf doppelten Anführungsstrichen, lasst uns grad noch die Ergebnisse für die einfachen betrachten:
‘echo’ 0.10613601207733 Sekunden
und
‘print’ 0.12993469238281 Sekunden
Wir haben gegenüber den doppelten Anführungsstrichen bei dem echo einen SpeedUp von 16.6% und bei den Aufrufen mit print eine Verbesserung von 15.22%. Warum ist das so mit den doppelten Quotes? Naja ganz einfach, man hat die Möglichkeit in doppelten Anführungsstrichen Variablen zu benutzen ohne die Zeichenkette zu unterbrechen. Beispiel:
PHP-Code:
$test "ok";
echo 
"Test = $test"
Bei diesem Beispiel würde folgende Ausgabe erfolgen “Test = ok”. Wenn wir das ganze in einfachen Anführungsstrichen setzen dann wird uns die Variable nicht ersetzt sondern die ganze Zeichenkette so ausgegeben wir es ihm sagen. Also “Test = $Test”. Die Verlangsamung entsteht dadurch weil der php-Interpreter nach Variablen in unserer Zeichenkette sucht um diese dann zu ersetzen, was bei den einfachen nicht der Fall ist. Bei einfachen müsste das ganze so aussehen:
PHP-Code:
$test 'ok';
echo 
'Test = ' $test
Fazit

Also wenn es nach mir ginge dann würde ich ja lieber wieder komplett auf prints umstellen. Ich programmiere immer mit einfachen Anführungesstrichen und in kombination mit einem print sind wir so schnell wie echo mit doppelten. Also finde ich macht es keinen großen Unterschied ob print oder echo . Selbst im Bereich einer Community habe ich bis jetzt noch nicht gehört das man UMBEDINGT auf echo’s umstellen sollte

so -- ich bleibe damit bei Print ...
da ich auf einer Seite in einem Aufruf wohl kaum die 10.000er Marke je knacken werde ...


Wems net gefällt, der möge auf echo -- oder Misch-Code umsteigen ...


Nur Misch-Code ist KEINE Saubere Programmierung !!
__________________

Fragen gehören ins Forum - und NICHT in mein Postfach !
Ich erteile KEINEN Privatunterricht über e-mail und PN !

Hackliste Br. NV nach Threadstarter u. Aktualität <--+--> Liste Hacks Bereich NV Alphabethisch
Cerberus ist offline   Mit Zitat antworten Nach oben
Folgende 6 Benutzer sagen Danke zu Cerberus für den nützlichen Beitrag:
$iMpLy (10.11.2008), Baba (28.11.2010), Bluesteel (10.11.2008), Dangerman (10.11.2008), eViLoNe (09.11.2008), gotthummer (09.11.2008)
Alt 09.11.2008, 21:24   #2
gotthummer
Master Coder
 
Benutzerbild von gotthummer
 
Registriert seit: 10.03.2008
Ort: Zuhause
Beitr?ge: 8.037
Abgegebene Danke: 1.199
Erhielt 2.928 Danke für 266 Beiträge
Downloads: 28
Uploads: 9
Nachrichten: 357
Renommee-Modifikator:
10 gotthummer genießt hohes Ansehengotthummer genießt hohes Ansehengotthummer genießt hohes Ansehengotthummer genießt hohes Ansehengotthummer genießt hohes Ansehengotthummer genießt hohes Ansehengotthummer genießt hohes Ansehengotthummer genießt hohes Ansehengotthummer genießt hohes Ansehengotthummer genießt hohes Ansehengotthummer genießt hohes Ansehen
Standard

Genau so seh ich es auch
__________________
Code:
require_once('include/gehirn.php'); 

session_start(); 

if(empty($action)) 
{   
  echo "<td class="tablea">Kopf anstrengen und Nachdenken</td>"; 
}
else
{   
  echo "<td class="tablea">Kopf zuviel angestrenkt nun Qualmt er ;)</td>";
}





gotthummer ist offline   Mit Zitat antworten Nach oben
Alt 09.11.2008, 21:28   #3
Solstice
Moderator
Punkte: 71.264, Level: 100 Punkte: 71.264, Level: 100 Punkte: 71.264, Level: 100
Levelaufstieg: 0% Levelaufstieg: 0% Levelaufstieg: 0%
Aktivität: 0% Aktivität: 0% Aktivität: 0%
Letzte Erfolge
Auszeichnungen
 
Benutzerbild von Solstice
 
Registriert seit: 10.04.2008
Alter: 35
Beitr?ge: 4.074
Abgegebene Danke: 200
Erhielt 1.331 Danke für 153 Beiträge
Downloads: 2
Uploads: 1
Nachrichten: 731
Renommee-Modifikator:
6014 Solstice genießt hohes AnsehenSolstice genießt hohes AnsehenSolstice genießt hohes AnsehenSolstice genießt hohes AnsehenSolstice genießt hohes AnsehenSolstice genießt hohes AnsehenSolstice genießt hohes AnsehenSolstice genießt hohes AnsehenSolstice genießt hohes AnsehenSolstice genießt hohes AnsehenSolstice genießt hohes Ansehen
Standard

Na lol... ich hab jetz auch noch nen Glossar dazugemacht... etwas detaiilierter... aber ok...

Doppelt hält besser.
php, echo oder Php tags?

mfg,
Sol
__________________
Schmutziges Geschirr schimmelt nicht,
wenn man es einfriert

Solstice ist offline   Mit Zitat antworten Nach oben
Antwort

Stichworte
echo, echo gegen print, print


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, G?ste: 1)
 

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beitr?ge zu antworten.
Es ist Ihnen nicht erlaubt, Anh?nge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beitr?ge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.

Gehe zu


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:15 Uhr.


Powered by vBulletin® Version 3.8.9 (Deutsch)
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Template-Modifikationen durch TMS