kostenloser Webspace werbefrei: lima-city


Performance von Includes

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    g****e

    hiho =)
    im zuge meines lernens und schreibens werden projekte immer umfangreicher. nun hab ich mir auch nen paar CMS angeschaut und festgestellt: die laden so viele datein die sie nichmal brauchen für diese applikation, aber für andere. also laden sie global immer alle vorhandenen funktionen etc.

    meine frage ist nun, wie sich das auf die performance auswirken kann. wirkt sich ne 30kb große funktionsbibiliotek schon stark negativ aus? wirken sich funktionsbibilioteken kaum bis garnicht aus, selbst wenn ich 10 solcher 50kb kopper lade? wie verhält sich das mit durchgeführtem code, wenn ich 30kb tatencode die er wirklich abarbeitet hinzufüge, beeinträchtigt das sehr?

    und im zuge des ganzen: sollte man immer alle klassen verwenden oder hält sich der code mit __autoload performer? es geht schon so um 20-30 klassen mit schon nen paar mehr kb datein.

    ich freu mich schon auf antwort =)
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Da PHP eine Interpretersprache ist macht es schon etwas aus, ob er viel durchgehen muss oder nicht. Ich weiß aber nicht inwieweit er auch alle Funktionen vorher durchgeht, oder erst abschreitet, wenn sie auch aufgerufen werden. Das Inluden an sich ist nicht so rechenlastig. Nur das übliche Dateisystemgeplänkel eben. Es ist nunmal so, dass ein CMS sehr viel bieten muss. Es ist schon ein ziemlich komplexes System.
    Autoload ist sicher in großem Ausmaß praktisch, aber in kleineren Programmen nutzt es nix, da diese Funktion selbst auch Rechenleistung zieht. Also würde ich Klassen, die sowieso genutzt werden gleich vorneweg laden, bzw. Klassen, die von einer anderen gebraucht werden gleich mitzuladen, wenn die Klasse geladen wird.
  4. Bevor PHP eine Datei nutzen kann, muss diese erstmal Tokenized werden und anschließend in Opcodes umgewandelt werden. Aus eigenen Benchmarks hat sich ergeben, dass dieser Prozess nicht vernachlässigbar ist. (Man kann dem jedoch entgegenwirken, indem man einen Opcode Cache wie APC nutzt.)

    Ich würde bei Klassen unbedingt zu einem spl autoloader greifen, da das a) bessere Performance bietet und b) deinen Code sauber hält (keine fünzig includes...).

    Beitrag zuletzt geändert: 11.5.2010 15:19:57 von nikic
  5. Autor dieses Themas

    g****e

    danke =)
    dann werd ich weiterhin den loader nutzen =)
  6. Aber es gilt natürlich weiterhin: Wenn du wirklich Performance-Improvements willst, dann kann dir dein Script eigentlich egal sein. Viel mehr bekommt man mit durchdachten und gut indizierten SQL-Queries raus ;)
  7. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!