kostenloser Webspace werbefrei: lima-city


Suche auf lima-city

  • in: Kleiner Tipp zur Geschwindigkeitsoptimierung

    geschrieben von spammi

    kigollogik schrieb:
    Wo ist dein Protokoll bzw. Dokumentation?

    Sorry, aber selbst wenn die Daten exakt auf dein System zutreffen würden und reproduzierbar wären, was nutzt MIR das?

    http://www.beltz.de/fileadmin/beltz/downloads/OnlinematerialienPVU/Statistik_und_Forschungsmethoden/Leseprobe%20fuer%20Einsteiger.pdf

    Das sollte auch keine Doktorarbeit werden, sondern für die sein, die ihre Scripts ein wenig optimieren möchten. Das verhalten ist wie tct auch schreibt, bereits bekannt. Ich dachte mir, dass es einigen eine hilfe sein kann, die extrem hohe ladezeiten durch schleifen haben (warum auch immer), oder ihre Seitenladezeit, wenn auch nur um MS, verkürzen wollen.

    Das Verhalten ist bekannt und logisch erklärbar (Ref).
    Allerdings kann man nicht immer ++i verwenden, das hängt ganz und gar von der Anwendung ab, die man ausführen will.

    Edit:
    Noch ein bisschen mehr zur Erklärung:
    ++i erhöht den Integer um den Wert 1 und gibt das sofort zurück. i++ speichert den alten Wert zwischen und verwendet diesen, erst nach Abschluss der Operation wird der Wert wirklich um +1 erhöht.


    das ++i nicht immer verwendbar ist, ist nicht ganz richtig. es ist nur dann nicht anwendbar, wenn man um mehr als 1 erhöhen will. wobei hier nun die frage spannend ist, ob es leichter ist mit ++i zu arbeiten, und dann den wert nach der schleife zu multiplizieren (bzw die bedingung vor der schleife zu teilen) oder ob ein addieren von größeren Werten sinniger ist.
  • in: Kleiner Tipp zur Geschwindigkeitsoptimierung

    geschrieben von spammi

    Hallo ihr lieben,

    ich hab mal Spasseshalber meinen Rechner gequält.

    Genutzte Schleife: while

    100.000.000 Durchläufe, Laufzeit in Sekunden
    Laufzeit bei "++i": 8.1130919456482
    Laufzeit bei "i++": 8.4843690395355
    Laufzeit bei "i += 1": 8.9624669551849
    Laufzeit bei "i = i+1": 10.120517969131

    Für die, die eine erklärung möchten:
    PHP wird in Maschinencode Interpretiert.(Assembler).
    i = i +1: hierbei arbeitet der Interpreter mit einer Temporären Variablen, dadurch, das der wert zum Addieren nicht fest sein muss dauert die anweisung länger zum parsen in binär
    i += 1: diese variante ist schon schneller, da nicht mit temporären werten gearbeitet werden muss, sondern direkt addiert wird, dennoch muss der wert erst in binär geparst werden.
    i++: übersetzt in assembler bedeutet dies "i inc", ist aber so durch den syntaxfehler nicht verwendbar, und muss umgedreht werden.
    ++i: wird direkt in "inc i" geparst(assembler);

    was ihr nun mit dem Wissen macht ist euer ding :)

Login zum Webhosting ohne Werbung!