• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Langer Code == langsame Website?

freakXHTML

Mitglied
Hallo zusammen,
ich habe ein Loginscript geschrieben und ein Blogsystem. Alles ist (leider) noch in einer Datei, die um die 1000 Zeilen umfasst. Diese wird noch auf meiner Seite im Head vollständig eingebunden.

Ich wundere mich, dass vieles relativ langsam abläuft. Wird das an dieser langen Datei liegen oder nicht? Ich eine Riesenklasse (die aber bald zerlegt wird).

Vielen Dank
lg, freakXHTML
 
Werbung:
Je mehr Daten geladen werden müssen, desto länger dauert das - wenn dazu noch etwas im Script berechnet werden muss, kann das (je nach Umfang) auch zur Ladezeit beitragen.
 
wenn ich mir einige andere scripte anschaue, die 50 klassen importieren um eine ausgabe auf dem bildschirm zu machen, sind 1000 Zeilen code eigentlich nichts.
kommt immer drauf an, welcher code wie wie schlau er aufgebaut ist.
 
Werbung:
1000 Zeilen sind wirklich nichts. Da bin ich ja bei einfachen Projekten schon weit drüber (ohne Bibliotheken).
Man kann sicher den Code optimieren, aber mir richtigem Caching (Memcache) und einen Frontend-Cache bekommt man jede Applikation schnell.
Dann kann man noch die Datenbank sowie die Abfragen optimieren. Dann gibt's da noch viele Tricks die Webseite beim Laden schneller zu machen (CSS Sprites, Minified CSS, <script> vor </body> etc.).
 
Es kommt nicht auf die Länge, sondern auf die Fähigkeiten an. Dazu gehört auch, dass man die Funktionen des Codes optimal, logisch und stimmig gestaltet.
 
Wenn man darauf achtet seinen Code so klein wie möglich zu halten ist es allerdings leichter Langsame stellen zu identifizieren und durch schnelleren Code zu ersetzen fals möglich. (Evtl. Caching)

Hier ein Beispiel. Wir alle kennen Smarty was als wunderbare Templatesprache gedacht war aber Vergleichen wir es mal mit dieser Variante.

PHP:
<?php

class Template {
    private $sPath;

    public function __construct($sPath) {
        $this->sPath = $sPath;
    }

    public function display() {
        include($this->sPath);
    }
}


// im Template steht "Inhalt von $this->testVariable = <?=$this->testVariable?>"
$t = new Template('./templates/test.phtml');
$t->testVariable = 2;
$t->display();

Damit hast du praktisch ein Komplettes Template System in dem du PHP verwenden kannst und dir all das lästige drum rum spaarst.
Weniger ist also mehr. ^^
 
Werbung:
1. dann zeig doch mal benchmarks.

2. du kannst smarty nicht mit deiner "Klasse" vergleichen, smarty setzt man idr da ein, wo man vermeiden möchte, dass der Designer "ausführbaren" Code schreiben kann. Das Template wird somit quasi in einer Sandbox ausgeführt.
 
Das ist doch keine richtige Sandbox. Und weil so viel nicht in in Smarty geht, haben sowie 90% der Benutzer {php} an.
Mit anderen Worten Smarty ist nicht nützlich und zudem noch veraltet.

No Smarty : Home
 
Hallo,
das komische ist nur, dass unter xampp alles völlig flüssig läuft. Sobald ich die Seite jedoch hochlade, dann muss manchmal 10 sekunden für eine Aktion warten, aber manchmal geht auch alles sehr schnell.

Liegt das Problem dann eher bei meinem Hoster oder an meinem Code?

Vielen DAnk
lg, freakXHTML
 
Werbung:
Liegt das Problem dann eher bei meinem Hoster oder an meinem Code?

Ich denke schon, dass es an deinem Hoster liegt. Oder du hast ein Monster schnellen Rechner? Starte doch mal einfach dein Task Manager (sofern du M$ Nutzer bist) und schaue wieviel der Server Prozess an Resourcen braucht. Wenn es im vergleich zu
PHP:
for ($i = 0; $i < 500; $i++) {
  echo '<p>Durchgang ' . $i . '</p>';
}
nicht mehr im Verhältnis steht, liegt es vielleicht doch an deinen Code.
 
@CGollhardt: Du musst schon Glück haben, wenn du dies im Taskmanager überhaupt sehen kannst (for mit 500 Durchgängen).

Wenn es auf deinem PC immer schnell läuft, so ist es wohl der Hosting provider. Allerdings scheint mir ein Loginscript mit 1000 Zeilen schon etwas arg lang (Nicht dass das jetzt die Laufzeit beeinträchtigen würde).
 
Werbung:
Zurück
Oben