Ankündigung

Einklappen
Keine Ankündigung bisher.

Performance

Einklappen

Neue Werbung 2019

Einklappen
Dieses Thema ist geschlossen.
X
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Performance

    Meine Erfahrung mit PHP hält sich in Grenzen.

    Ich hab hier so um die 150 Funktionen. Kann man das in eine Datei packen oder gibt das dann Performance-Probleme?

    Was ist wenn man in mehrere kleinere Dateien auslagert und mit include wieder einbindet? Macht das einen Unterschied zu oben?


    Volker


  • #2
    Da müsste es schneller sein wenn du alle Funktionen in eine einzige Datei schreibst. So muss nur eine Datei geladen werden, andernfalls mehrere!

    Die Frage ist brauchst du alle 150 Funktionen gleichzeitig? Weil sonst könntest du sie nur bei Bedarf laden.

    Außerdem kann ich mir schwer vorstellen wie du 150 Funktionen nutzen willst, ist schon etwas viel oder?

    Kommentar


    • #3
      Tja ich hatte bisher eigentlich nur mit .NET zu tun. Da ist das kein Problem und macht die ganze Programmstruktur übersichtlicher.

      Wie wär es denn wenn ich die Funktionen in 3 Klassen aufteile und jede Klasse in eine separate Datei schreibe. Um die Klasse aber anzusprechen, muss ich die Datei aber vorher ja wieder mit include einbinden. Bringt das einen Performancevorteil?

      Kommentar


      • #4
        Das kann ich dir schlecht sagen. Das müsstest du testen. Aber das sollte im Endeffekt vernachlässigbar sein! Ob du jetzt 1 Datei mit 150 Funktionen, 2 Dateien mit 75 Funktionen oder 3 Klassen mit je 50 Methoden hast dürfte keine großen Auswirkungen auf die Performance haben. Da sind andere Kriterien wesentlich wichtiger.

        Die Frage ist was deine Funktionen überhaupt machen. Müssen es wirklich 150 sein? Lassen die sich nicht Kombinieren um es einfacher zu gestalten?

        Eine Kapselung in Klassen ist bestimmt praktischer!

        Kommentar


        • #5
          Das sind alles Datenbank-Objekte, die ich eigentlich zentral halten will und an verschieden Stellen im Programm immer wieder verwendet werden. Ich wollte es mir sparen immer wieder den gleichen SQL-Code zu schreiben.

          Kommentar


          • #6
            Wieso machst du aus Datenbank-Objekten dann Funktionen und keine Objekte wie der Name schon sagt? Hier kannst du sehr schön mit Abstraktion arbeiten. Eine Basisklasse die dir die Grundlegenden Funktionen zu Verfügung stellt und die einzelnen Models (Objekte, Tabellen) erben dann diese Grundfunktionalität und bieten, wenn nötig, noch extra Funktionen!

            Das könnte man dann durchaus auch unter 150 Methoden schaffen denke ich.

            Kommentar


            • #7
              Naja, ich hab ja schon so um die 60-70 Tabellen, da wird es wohl nicht viel weniger.

              Kommentar


              • #8
                Du willst >>ohne wirklich Ahnung von PHP zu haben<< eine Anwendung die 60-70 Tabellen benötigt in PHP umsetzten? Na dann werden wir dich ja hier noch öfters sehen... ohje

                Kommentar


                • #9
                  Ich hoffe nicht als Fragesteller und ich glaub auch dass ich ziemlich weit bin, schließlich gings "nur" um Performance. Aber vieleicht hätte ich anders anfangen können: Bei meinem Projekt geht es darum eine auf PHP basierende Anwendung mit lokalen Daten abzugleichen und zu füttern. Hierzu habe ich mir entsprechende Webservices erstellt (ohne hier nachfragen zu müssen) und diese in mein lokales .NET-Projekt integriert. Mehr ist es ja gar nicht.

                  Kommentar


                  • #10
                    Wie gesagt, versuch deine Abfragen sinnvoll in einer Klassenhierachie unterzubringen so kannst du die einzelnen Tabellen auf einer gemeinsamen Grundlage aufbauen! Laden musst du dann natürlich nur die Klassen die auch bei dem aktuellen Aufruf genutzt werden.

                    Kommentar


                    • #11
                      Genau. Wenn ich richtig verstehe baust Du eine Art Datenabstraktion, wobei die Objekte die Tabellen widerspiegeln? Da Du wahrscheinlich nicht alle 60,70 Tabellen gleichzeitig nutzt, wäre es wohl günstig ein einheitliches Namensschema anzulegen (bspw. das Objekt auf Basis des Namens der Tabelle generisch zu erzeugen) und nur nötige Klassen einzubinden (bspw. über das Factory Pattern).
                      --

                      „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
                      Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“


                      --

                      Kommentar


                      • #12
                        Für eine Anwendung, die in einem Durchgang 60-70 Tabellen bearbeitet (oder läßt sich das doch aufteilen?), werden die Parser-Zeiten von PHP unerheblich sein, zumal es ja noch apc und ähnliches gibt.

                        Kommentar


                        • #13
                          Hehe stimmt, wenn du wirklich 60-70 Tabellen bearbeitest, dann kannst du die Zeit die PHP zum einbinden der Dateien braucht wirklich vernachlässigen xD

                          Kommentar


                          • #14
                            [ MOD: geschlossen ] Weiter gehts hier
                            --

                            „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
                            Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“


                            --

                            Kommentar


                            • #15
                              Verwende APC oder ähnliches, dann kann dir die Anzahl der eingebundenen Dateien egal sein.

                              Kommentar

                              Lädt...
                              X