Ja, gerade das Ergebnis begutachtet, ist ja schon implementiert. Hatte schon TTextFileSorter aus der
Unit genommen.
Also hier nochmal ein paar Werte:
Code:
.
SorterTestfile Sample.txt
FileIO/AnsiCompStr/FasterAnsiComStr FileIO/AnsiCompStr/FasterAnsiComStr
csFasterSkipList --- / --- / 1875 ms --- / --- / 4375 ms
QuickInsertSort 800 ms / 4171 ms / 2203 ms 1800 ms / 11437 ms / 4688 ms
FileIO ist nur Laden/Speichern, hab' ich einfach durch ausklammern der Sort.Routine ermittelt.
SorterTestfile ist eine vergleichsweise einfach zu sortierende Datei (zum Sortierung Testen)
sample.txt ist die schwierig zu sortierende Datei (mit himitsus Frontend in default Einstellung erstellt)
Dank FasterAnsiCompareStr bekommt meine Routine einen Schub von bis zu 60%! Einfach genial
csFasterSkipList liegt noch knapp vorne, kann aber zusätzlich durch die flexible Speicherverwaltung punkten (bleibt also locker Sieger) und diesmal ganz legal mit passender Sortierung.
Also ich denke damit sollte der Thread-Starter ein optimales Tool in der Hand haben:
TTextFileSorter mit csFasterSkipList
ich hab' immerhin Klassen ganz lieb gewonnen und einen klassischen Code (den ich wenigstens in der Funktion verstehe
) der immerhin ganz gut mithalten kann.
Ob himistu noch nachlegen kann weis ich nicht, sein Programm war zum Teil besser als meines, da könnte noch was gehen...