Einzelnen Beitrag anzeigen

OlafSt

Registriert seit: 2. Mär 2007
Ort: Hamburg
284 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#18

AW: 32 Bit, TStringList, Textdatei mit 30Mio. Zeilen

  Alt 17. Sep 2015, 10:36
Ganz ehrlich: Ich würde den bisherigen Importer eliminieren und das ganze neu (und vor allem sauber) implementieren. Als das damals gebaut wurde, waren 5MB vielleicht große Dateien. Solche Files kann man mit TStringList noch einigermaßen handeln, aber alles darüber wird zur Laufzeit-Qual. Heute sind 5GB große Files kein Thema mehr und in 8 Jahren sind es 5TB große Files. kommt deine LargeStringList damit auch klar, ohne vom Benutzer verlangen zu müssen, er soll n paar RAM-Riegel nachstecken ?

Letztendlich versuchst du, denselben Unsinn (Datei komplett im Speicher) nur auf anderem Weg zu implementieren. Das wird vermutlich scheitern oder bestenfalls eine wenig effiziente Lösung werden. Besser, du investierst deine Zeit in eine Art Parser, der einmal durch die Datei durchgeht, in verschiedenen Listen sich merkt, in welchen Zeilen welcher Satz steht, die A-Sätze schon mal verarbeitet und im zweiten Lauf dann die anderen Sätze dazusortiert. Dann ist es auch fast egal, ob das File 5MB, 5GB oder 5PB groß ist.

Solche Umbau-Arien sind normal, wenn man alte bis sehr alte Projekte bearbeitet. Ich mach das seit Jahren und treffe immer wieder auf solche Stolperfallen.
  Mit Zitat antworten Zitat