OXID Standard Ladezeit für mehrere Tausend Varianten pro Artikel: > 20 Sekunden
Zoxid Varianten Modul Ladezeit im Vergleich: < 1 Sekunde
(Weniger ist besser)
Das Zoxid Varianten Modul ist bedingungslos effizient. Wo OXID für die Aufbereitung und Darstellung von 10000 Varianten 20 Sekunden und mehr benötigt, rechnet unser Modul im Millisekundenbereich. Und das Beste daran: Mit steigender Variantenmenge wächst die Laufzeit nicht exponentiell, obwohl Varianten mit Varianten verglichen werden müssen, um gültige Kombinationen zu bestimmen und ungültige herauszufiltern. Die Mathematiker nennen das O(n) - ein Laufzeitverhalten größtenteils abhängig von der Anzahl der Varianten.
Die Entwicklung stammt aus ein Kundenprojek, bei dem pro Artikel mehrere Tausend Kombinationen von Varianten wählbar sind. Auf einem dedizierten Server benötigte die Berechnung einer Detailseite durch OXID in PHP rund 20 Sekunden Laufzeit - das ist selbstverständlich indiskutabel für jeden Onlineshop-Einkäufer und damit auch für jeden Shop-Betreiber. Ein Variantenwechsel in der Detailansicht dauerte genau so lange, da auch hier alle Varianten von OXID geladen werden mussten. Die zwischengespeicherten Daten und Objekte von OXID zehrten außerdem an den Server-Ressourcen.
Nach Installation und Aktivierung der Zoxid Varianten Moduls sind keine weiteren Änderungen am Code oder Template notwendig. Das Modul kommt gänzlich ohne Vorberechnungen, spezielle Datenbank-Indizes über die Artikel Varianten, oder sonstige Caching-Techniken aus - einzig ein unglaublich effizienter Algorithmus ersetzt die Standard Funktionen von OXID für das Varianten-Handling. Damit erfüllen wir unseren Anspruch an Leichtgewichtigkeit.
Das Laufzeitverhalten verbessert sich um Größenordnungen. In dem genannten Szenario beträgt die Berechnungszeit der Varianten-Selektion Sekundenbruchteile.
Wenn es in der Informatik schnell gehen soll, muss ein effizienter Algorithmus her. Einer, der "n" Dinge schneller abarbeitet als ein anderer. "n" Dinge bezeichnet die Eingabegröße - das womit der Algorithmus rechnen soll: z.Bsp. die Anzahl der Buchungen, die Anzahl der zu sortierenden Wörter, oder die Anzahl der Pixel oder Farben für die Bildbearbeitung.
Ausgehend von n schätzt man die Zeit die ein Algorithmus für die Bearbeitung aller n Elemente braucht. Einen unsortierten Artikelstamm mit 100 Produkten zu durchsuchen benötigt zum Beispiel 100 Einzel-Suchschritte: Artikel laden, vergleichen, weiter. Allgemeine ausgedrückt dauert es bei n Artikel auch n Suchschritte. Die Bearbeitungszeit oder Laufzeit ist also direkt abhängig von der Eingabemenge: O(n).
Richtig schlimm wird es bei exponentiellen Laufzeiten wie nn. Ist n relativ klein, zum Beispiel 5, fällt die Rechenzeit bei schnellen Computern nicht großartig auf. Kommen ein paar Elemente zu n hinzu wird die Rechenenzeit nicht mehr vertretbar oder dauert ewig.
Lust auf mehr? Wikipedia: Landau Symbole
* Unsere Services und Dienstleistungen richten sich ausschließlich an gewerbliche Abnehmer. Daher gelten alle Preise zzgl. der Umsatzsteuer.
© copyright 2024 by zoks.net - 1544