(Co-Admin)
Registriert seit: 29. Mai 2002
Ort: Hamburg
11.116 Beiträge
Delphi 11 Alexandria
|
Re: 80 MB Datei - doppelte Zeilen entfernen
17. Jan 2007, 19:52
Moin Capo,
bist Du sicher, dass das Programm überhaupt schon mit dem Einlesen der Datei fertig ist?
80MB in eine Stringlist einzulesen kann ziemlich dauern.
Wenn Du wirklich nur doppelte Zeilen finden willst, halte ich es für sinnvoller die Datei zeilenweise zu lesen (ReadLn usw.), jeweils einen MD5-Hash über der Zeile zu bilden, diesen in einer STringList suchen. Ist er nicht vorhanden, die Zeile in eine Zieldatei wegschreiben, und den Hashwert mit in die Tabelle aufnehmen.
Die Eigenschaft Capacity (Anzahl zu erwartender Zeilen) einer StringList solltest Du bei solchen Aktionen auf einen möglichst korrekten Wert einstellen, um Geschwindigkeit herauszuholen.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
|