Habe dann mal spaßeshalber unter Windows als 64-bit-Programm versucht eine ca. 2 GB
csv-Textdatei in eine Stringlist zu laden (die "star2002-full.csv" Datei von dieser Quelle:
https://sdm.lbl.gov/fastbit/data/samples.html) . Das scheitert aber schon alleine daran, dass Delphi einen Integerüberlauf in der Procedure TStrings.LoadFromstream meldet.
Hab gerade mal in die Methode geschaut und mir ist ein bisschen
geworden. Es wird also ein buffer in der Größe des noch zu lesenden Streams erzeugt (2GB alloc). Dann wird über TEncoding ein string daraus generiert - je nach encoding des Streams also nochmal 2-4GB und der wird dann durch SetTextStr geprügelt, wo er anhand der LineBreak Eigenschaft zerpfückt wird - ein Meisterstück an Softwaredesign.