Befehle ausblenden
- Gumfuzi
- Ehemaliges Teammitglied
- Beiträge: 2454
- Registriert: 26.03.2004 22:25
- Wohnort: Linz, AT
- Kontaktdaten:
Befehle ausblenden
Hallo!
Eine generelle Frage:
Wenn ich bestimmte Codepassagen aus der PHP-Datei deaktivieren will, welche Metode ist "schneller" bei späterem Aufruf der Datei?
- Code-Zeilen komplett entfernen oder
- Code-Zeilen mit // oder /* deaktivieren
Mein Hintergedanke ist der, daß, wenn ich die zweite Variante wähle, die PHP-Datei genauso lang ist bzw. die Codezeilen trotzdem "gelesen" (aber nicht ausgeführt) werden, was ja auch minimal Zeit beansprucht.
Mit der 2. Variante hätte ich dann aber den Code wieder zur Verfügung, falls ich den wieder brauche.
Wie seht ihr das?
Eine generelle Frage:
Wenn ich bestimmte Codepassagen aus der PHP-Datei deaktivieren will, welche Metode ist "schneller" bei späterem Aufruf der Datei?
- Code-Zeilen komplett entfernen oder
- Code-Zeilen mit // oder /* deaktivieren
Mein Hintergedanke ist der, daß, wenn ich die zweite Variante wähle, die PHP-Datei genauso lang ist bzw. die Codezeilen trotzdem "gelesen" (aber nicht ausgeführt) werden, was ja auch minimal Zeit beansprucht.
Mit der 2. Variante hätte ich dann aber den Code wieder zur Verfügung, falls ich den wieder brauche.
Wie seht ihr das?
Du kannst niemals alle mit deinem Tun begeistern. Selbst wenn du über's Wasser laufen kannst, kommt einer daher und fragt, ob du zu blöd zum Schwimmen bist.
https://www.deskmodder.de
https://www.deskmodder.de
-
- Mitglied
- Beiträge: 1883
- Registriert: 20.10.2003 12:07
- Wohnort: Hannover
- Blutgerinsel
- Mitglied
- Beiträge: 1801
- Registriert: 19.07.2004 18:53
- Wohnort: Landkreis Ulm
- Kontaktdaten:
ein || kein ?mr.no-name hat geschrieben:Naja, ich glaube kaum, dass Variante 2 ein spürbarer Nachteil ist. Die Dateien sind so klein, dass es ein 2-3 GHz Server wohl kaum merkt, ob sie nun 10,1 oder 10,2 KB groß ist^^
Da der PHP Parser Kommentare einfach überspringt anstatt diese zu lesen entsteht hieraus kein zeitlicher Nachteil.....
-
- Mitglied
- Beiträge: 1883
- Registriert: 20.10.2003 12:07
- Wohnort: Hannover
Sry, ich meinte wirklich "ein", da ich davon ausgegangen war, dass Gumfuzis Annahme stimmtBlutgerinsel hat geschrieben:ein || kein ?mr.no-name hat geschrieben:Naja, ich glaube kaum, dass Variante 2 ein spürbarer Nachteil ist. Die Dateien sind so klein, dass es ein 2-3 GHz Server wohl kaum merkt, ob sie nun 10,1 oder 10,2 KB groß ist^^
Da der PHP Parser Kommentare einfach überspringt anstatt diese zu lesen entsteht hieraus kein zeitlicher Nachteil.....

Wenn es aber direkt übersprungen wird ist es sogar "kein" Nachteil^^ (höchstens für den Speicherplatz auf dem Server *g*)
- Gumfuzi
- Ehemaliges Teammitglied
- Beiträge: 2454
- Registriert: 26.03.2004 22:25
- Wohnort: Linz, AT
- Kontaktdaten:
@Blutgerinsel:
danke, genau das wollte ich wissen!
Aber:
wie ist es beim /* ?
da müsste der Parser doch nach dem Gegenstück suchen sprich den Code trotzdem lesen - wäre es dann besser, jede Zeile mit einem // beginnen zu lassen, denn danach wird ja der Rest der Zeile ignoriert und auch nicht gelesen?
P.S.: mit geht es eher darum, wenn zB. viele Codezeilen ausgeblendet werden, bei einer Datei, die sehr oft aufgerufen wird - da würden sich ein paar Millisekunden auch summieren...
danke, genau das wollte ich wissen!
Aber:
wie ist es beim /* ?
da müsste der Parser doch nach dem Gegenstück suchen sprich den Code trotzdem lesen - wäre es dann besser, jede Zeile mit einem // beginnen zu lassen, denn danach wird ja der Rest der Zeile ignoriert und auch nicht gelesen?
P.S.: mit geht es eher darum, wenn zB. viele Codezeilen ausgeblendet werden, bei einer Datei, die sehr oft aufgerufen wird - da würden sich ein paar Millisekunden auch summieren...
Du kannst niemals alle mit deinem Tun begeistern. Selbst wenn du über's Wasser laufen kannst, kommt einer daher und fragt, ob du zu blöd zum Schwimmen bist.
https://www.deskmodder.de
https://www.deskmodder.de
- itst
- Ehrenadmin
- Beiträge: 7418
- Registriert: 21.08.2001 02:00
- Wohnort: Büttelborn bei Darmstadt
- Kontaktdaten:
Ich kenne den PHP-Quellcode nicht, aber wahrscheinlich hat PHP eine Art Preprocessor (ich sagte eine Art, nicht einen), der Kommentare (alles nach // oder # und alles zwischen /* und */) per RegExp vor der Weitergabe der Datei an den eigentlichen Parser entfernt.
Ob es bei normalen Skripten einen meßbaren Unterschied gibt, wage ich zu beweifeln
Ob es bei normalen Skripten einen meßbaren Unterschied gibt, wage ich zu beweifeln

Sascha A. Carlin,
phpBB.de Ehrenadministrator
phpBB.de Ehrenadministrator

- Blutgerinsel
- Mitglied
- Beiträge: 1801
- Registriert: 19.07.2004 18:53
- Wohnort: Landkreis Ulm
- Kontaktdaten:
Der sehr geringe zeitliche Abstand der bei Leerzeichen oder Kommentare entsteht ist so unwesentlich das man ihn vergessen kannGumfuzi hat geschrieben:@Blutgerinsel:
Aber:
wie ist es beim /* ?
da müsste der Parser doch nach dem Gegenstück suchen sprich den Code trotzdem lesen - wäre es dann besser, jede Zeile mit einem // beginnen zu lassen, denn danach wird ja der Rest der Zeile ignoriert und auch nicht gelesen?
P.S.: mit geht es eher darum, wenn zB. viele Codezeilen ausgeblendet werden, bei einer Datei, die sehr oft aufgerufen wird - da würden sich ein paar Millisekunden auch summieren...
Bevor man sich Gedanken über derartiges macht sollte man lieber vorher das Script optimieren und versuchen den Code so einfach und effektiv zu gestalten das er einen minimalen RAM bedarf und Laufzeit benötigt. Das fängt schon bei nicht Verwendung von Referenzen an usw.......
Kommentare tragen in jeder Programmiersprache dazu bei Codeblöcke zu Diagnosezwecke temporär auszuhebeln oder der Nachwelt und sich selber sofort einen Anhaltspunkt bzw. Erinnerungspunkt zu legen der es erlaubt den Code bei erneuter Betrachtung schneller richtig deuten zu können bzw. ausstehenden Funktionalitäten festzuhalten.......
Dabei ist das Motto weniger ist oft mehr........
Auch die PHP Newsgroup ist der gleichen Ansicht wie ich gerade entnommen habe:
-> http://faq-php.de/q/q-stil-kommentare.html
- Blutgerinsel
- Mitglied
- Beiträge: 1801
- Registriert: 19.07.2004 18:53
- Wohnort: Landkreis Ulm
- Kontaktdaten:
@Itst: manchmal zahlt es sich aus den PHP Code zu betrachten, mich hat z.B. interessiert ob ein mysql_num_rows tatsächlich komplett die Zeilen wieder aufbereitet. Manche Entwickler behaupten Count sei immer einem mysql_num_rows vorzuziehen (hab ich auch immer gedacht), andere wiederrum verneinen das......
Und wenn man sich mal die Ressource ID näher anschaut
Und den Fokus auf die 2. Zeile setzt müsste der Zweifel beseitigt sein......
Und wenn man sich mal die Ressource ID näher anschaut
Code: Alles auswählen
typedef struct st_mysql_res {
my_ulonglong row_count;
MYSQL_FIELD *fields;
MYSQL_DATA *data;
MYSQL_ROWS *data_cursor;
unsigned long *lengths; /* column lengths of current row */
MYSQL *handle; /* for unbuffered reads */
MEM_ROOT field_alloc;
unsigned int field_count, current_field;
MYSQL_ROW row; /* If unbuffered read */
MYSQL_ROW current_row; /* buffer to current row */
my_bool eof; /* Used by mysql_fetch_row */
} MYSQL_RES;
- Gumfuzi
- Ehemaliges Teammitglied
- Beiträge: 2454
- Registriert: 26.03.2004 22:25
- Wohnort: Linz, AT
- Kontaktdaten:
Super, danke für die Erklärung!!!!!!!
Du kannst niemals alle mit deinem Tun begeistern. Selbst wenn du über's Wasser laufen kannst, kommt einer daher und fragt, ob du zu blöd zum Schwimmen bist.
https://www.deskmodder.de
https://www.deskmodder.de