Einzelnen Beitrag anzeigen

Satty67

Registriert seit: 24. Feb 2007
Ort: Baden
1.566 Beiträge
 
Delphi 2007 Professional
 
#65

Re: Große Datei sortieren ohne komplett in den Speicher zu l

  Alt 18. Mär 2009, 21:49
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...
Angehängte Dateien
Dateityp: 7z utextfilesorter_satty_18.03.09_c_581.7z (921,4 KB, 22x aufgerufen)
  Mit Zitat antworten Zitat