Zoxid Varianten

Das extrem schnelle Varianten-Modul für OXID

Das Varianten-Handling in OXID ist nicht besonders auf Geschwindigkeit getrimmt. Auch der Speicherverbrauch könnte deutlich geringer sein - bei schnellerer Bearbeitung. Mit unter 100 Varianten pro Artikel fällt die Performance nicht besonders negativ ins Gewicht. Bei 10000 Varianten pro Artikel sieht das anders aus. Unser Variantenmodul kommt spielend mit Tausenden von Varianten pro Artikel klar und ermöglicht extrem kurze Ladezeiten.

Details

OXID High Performance Varianten

Manche Kollegen inspiriert der fliegende Elefant - uns eher der Kolibri: Höchstgeschwindigkeit mit bis zu 50 Flügelschläge pro Sekunde, 500 Herzschläge pro Minute, gleichzeitig extrem leichtgewichtig und nur 2 Gramm Treibstoff für 800km Reichweite.

Minimale Ladezeiten

OXID Standard Ladezeit für mehrere Tausend Varianten pro Artikel: > 20 Sekunden

Zoxid Varianten Modul Ladezeit im Vergleich: < 1 Sekunde

(Weniger ist besser)

Varianten Performance

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.

Voraussetzungen & Installation

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.

Laufzeit O(n)

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 2017 by zoks.net - 1544

Golden-tailed Sapphire (Chrysuronia oenone) - © Marcial Quintero - CC-SA-3.0