• swarnat

    (@swarnat)


    Hallo GiroSolutions,

    Wir hosten ein WordPress für einen Kunden, welcher Ihre Zahlungsmethode nutzt.
    Da wir weiderholt Einbrüche der Performance hatten, haben wir eine Analyse druchgeführt.

    Dabei fiel auf, dass euer Class Autoloader “GiroCheckout_SDK_Autoloader” sehr global nach Klassen sucht, obwohl eigentlich nur die Klasse “GiroCheckout_SDK_Tools” über diesen Autoloader geladen wird.
    Dies verursacht im betreffenden Kunden CRM 10000 unnötige Zugriffe auf die Festplatte pro Request. Wir haben dies relativ einfach über einen temporären Cache gelöst, welcher Klassennamen zu Dateinamen auflöst, bzw. ein “false” speichert, wenn nicht in eurem Plugin gefunden gefunden.

    Dabei ist eben aufgefallen, dass Ihr den Autoloader eigentlich gar nicht braucht.
    An Ladezeit brachte dieser Fix ~600ms, da auf einem Plesk System auch kein Filesystem Cache aktiv ist und jede Prüfung wirklich durchgeführt wird. Also recht ordentlich.

    Daher wäre meine Frage, ob Ihr die Möglichkeit seht, diesen Autoloader evtl. auf eure Klassenamen (“Prefix GitoCheckout_”) zu beschränken?

    Vielen Dank!

Viewing 1 replies (of 1 total)
  • mheumann

    (@mheumann)

    Hallo,

    danke für den Hinweis, aber tun wir das nicht bereits? Wir fragen in der Funktion GiroCheckout_SDK_Autoloader::load() doch am Anfang ab, ob die angefragte Klasse mit GiroCheckout_SDK beginnt.

    Wenn Ihr konkrete Änderungsvorschläge für den Code habt, sind wir dafür offen und das geht vielleicht auch schneller, als wenn wir erst selber suchen und testen müssen.

    Danke schonmal.

Viewing 1 replies (of 1 total)
  • The topic ‘Class Autoload Performance’ is closed to new replies.