Archiv

TechInfo

Schneller ohne Sortierung

By Dirk Bergles

An mehreren Stellen im CMS ist es erforderlich Daten zu sortieren. Z.B. bei Datenquellen, welche in Notes Datenbanken suchen und ein unsortiertes Ergebnis erhalten. Nun hat es sich gezeigt das das Sortieren per LotusScript ein Zeitfresser ist.
Es wurde ein konkretes Beispiel verglichen und analysiert. Eine unsortierte Liste mit 129 Elementen. Egal mit welchem Sortieralgorithmus die anschließende Sortierung der Daten erfolgte, sie benötigt im Schnitt 3 Sekunden.
Was für den Seitenaufbau eine Ewigkeit bedeutet.

Nun versuchen wir etwas neues. Da der Schlüssel zum Sortieren bereits beim Erhalt der Daten bekannt ist, fügen wir die Daten in eine sortierte Liste ein. Also quasi eine Pointerliste.
Ein Element besitzt einen Nachfolger und einen Vorgänger. Wird ein neues Element eingefügt, so werden die Pointer auf neuen Nachfolger einfach geändert.
Mit dieser Methode ließen sich die 129 Elemente in 0,7 Sekunden sortieren.

Herauszufinden wäre nun noch ab welcher Anzahl sich wieder ein Sortieralgorithmus lohnt.

Diese Änderung fließt zunächst in die CMS Version 8.05 0 ein.

Tags:
Alle Tags