Ich schreibe gerade eine Klasse, die wahrscheinlich etwa 3000 Codezeilen umfassen wird.
Was ich gerne wissen möchte, ist sehr einfach, wird die Initiierung dieser Klasse am Anfang jeder Seite die Laufzeit der Seite verlangsamen, obwohl nur eine / zwei der Methoden verwendet werden? Wird es meinen Server viel mehr belasten, wenn mehrere tausend Mal am Tag darauf zugegriffen wird?
Wenn ja, sollte ich Erweiterungen erstellen, um jede Methode zu behandeln, anstatt die ganze Klasse in einer Datei zu haben?
BEARBEITET
Erstens, um KingCrunch und Kenaniah zu korrigieren, ist diese Klasse für meine API gedacht, was bedeutet, dass sie viele Funktionen zum Abrufen von Daten enthält, die auf der Website und unserer iPhone-Anwendung zusammen mit unserer gesamten Facebook-Anwendung angezeigt werden. Also 3000 Zeilen sind ziemlich klein, angesichts der Größe und der Möglichkeiten unserer Website, ganz zu schweigen davon, dass über 700 dieser Zeilen Kommentare sind. Ich kann Ihnen also versichern, dass es keinen Konstruktionsfehler gibt, obwohl es einen strukturellen Fehler geben könnte, weshalb ich diese Frage stelle ...
Die Funktion construct setzt einfach die Standardwerte auf die definierten Variablen, nicht mehr.
Ich habe diese Datei komplett neu geschrieben, so dass es keinen alten Code gibt und ich bin mir ziemlich sicher, dass die Methoden innerhalb der Klasse so effizient sind, wie es nur geht.
Ich habe meine Server-Nutzung usw. überwacht und mit dem apache ab-Tool hohe Verkehrsaufkommen simuliert. Obwohl meine Speicherauslastung hochschnellt, scheint es in Ordnung zu sein.
Wenn Sie diese Klasse am Anfang jeder Seite initiieren, verlangsamen Sie die Laufzeit der Seite
Wird es zur Laufzeit hinzugefügt? Ja. Na sicher. Nichts ist umsonst. Jede geparste Codezeile hat einen geringen Overhead (aber Sie können den Großteil dieser Kosten mit einem Opcode-Cache wie APC loswerden). Allerdings sprechen wir wahrscheinlich von einem Unter-Millisekunden-Overhead. Der einzige Weg, um sicher zu sein, ist, es selbst zu profilieren.
Wird es meinen Server viel mehr belasten, wenn mehrere tausend Mal am Tag darauf zugegriffen wird?
Aus persönlicher Erfahrung, nein. Aber noch einmal, Profil und messen Sie sich. Sie sollten grundlegende Leistungsmetriken auf Ihrem Server überwachen (CPU-Auslastung, Lastdurchschnitt usw.). Stellen Sie Ihre Änderung bereit und sehen Sie sich Ihre Messwerte an.
Nein, das Instanziieren einer Klasse, die aus vielen LOC besteht, macht es nicht automatisch langsam.
Das heißt, es sei denn, Sie machen etwas im Konstruktor, aber dann hängt es davon ab, was Sie dort tun, und nicht, wie groß die Klasse ist.
Nein, eigentlich ist es schneller, als es in mehrere Dateien zu teilen.
Das einzige Problem ist, dass oft ein großer Codeblock entsteht und Änderungen schwieriger sind.
BEARBEITEN: Es wird schneller, wenn alle Zeilen nützlich sind. Wenn Sie viel alten Code haben, könnten Sie eine Bereinigung in Erwägung ziehen.
Tags und Links class php lines-of-code