Ich verstehe nicht, wieso das bei prefex=0 langsamer sein soll... [edit]Doch: Das Pivot-Element wird nicht gecached. Aber trotzdem müssen komplette Zeilen häufiger gelesen werden.[/edit]
Dein Lösungsansatz widerspricht zudem deiner Eingangs gemachten Vorgabe ('Dateien
mit wenig speicherlast sortieren'). Bei hohen Prefex-Größen liest du eh die ganze Datei (und mehr) in den Speicher. Versuche es mit der sehr viel einfachereren Methode:
Delphi-Quellcode:
Class Procedure TFileSorter.ExternSort (aSourceFileName, aDestFileName : String);
Var
sText : TStringList;
Begin
sText := TStringlist.Create;
Try
sText.LoadFromFile (aSourceFileName);
sText.Sort;
sText.SaveToFile (aDestFileName);
Finally
sText.Free
End
End;