Zitat von
Franzelchen:
Natürlich gibt es die vielbeschworene Skiplist. Diese würde sogar (vgl. Suchverfahren mit Beispielen) meine Dateigröße abdecken( ca.40 000 Datensätze) aber wie verwende ich die Skiplist. In allen Beispielen wird die Skiplist mit Zufallsstrings aufgefüllt aber nie mit echten Daten.
Wo ist denn da nun bitte der Unterschied?
MyList.Add(MyKeyString, MyData)
Wo ist eigentlich dein Problem? Selbst 40.000 Datensätze sind doch in Null,Nix eingelesen über eine TStringlist eingelesen. Der Zugriff erfolgt auch schnell genug, und selbst die Suche in einer sortieren Stringlist wäre doch kein Problem, oder?
Zeig uns doch mal den Code, bei dem Du Performanceprobleme bekommst.
Wenn Du noch eine Nanosekunde rausholen willst, dann vergiss die TStringlist und verwende ein ARRAY OF STRING. Das vermeidet den Umweg über einen Getter-Aufruf. Aber verwende keine dynamischs Array weil das ja wieder erst umständlich und performancefressend dereferenziert werden muss
Delphi-Quellcode:
Type
TTheMotherOfAllSchnelleStringZugriffe = ARRAY [0..39999] OF STRING;
Oder geht es noch schneller?