Einzelnen Beitrag anzeigen

Satty67

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

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

  Alt 16. Mär 2009, 18:04
Hab' paralell selber gesucht und scheint das casten auf LARGE_INTEGER des Wertes aus einem Record zu sein.

Folgendes hat gereicht:
Delphi-Quellcode:
offset := FileIndex[Idx].Offset; // offset lokal als Int64 declariert
If (SetFilePointer(SourceFile, i64.LowPart, @i64.HighPart, FILE_BEGIN) <> i64.LowPart)
    or (i64.HighPart <> LARGE_INTEGER(Offset).HighPart) Then Exit;
Ok und gleich die Werte mit meinem 8,5 MB Wörterbuch (das hat 600.000 Zeilen und ist anders sortiert, als gewünscht):

PrefetchSize=0 : 33313 ms
PrefetchSize=4 : 16187 ms
PrefetchSize=8 : 10860 ms
PrefetchSize=16 : 9281 ms
PrefetchSize=1024 : 9287 ms

Hätte das OpenSource Wörterbuch gerne als gleiche Test-Basis reingestellt, aber ohne OK eines Moderators mache ich das nicht. (Ich kann keine Quellangabe machen)

Wäre interessant, was ein neuerer Compiler aus den Code macht.
  Mit Zitat antworten Zitat