Einzelnen Beitrag anzeigen

Benutzerbild von Stevie
Stevie

Registriert seit: 12. Aug 2003
Ort: Soest
4.012 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#35

AW: Delphi und 64-Bit Programme

  Alt 30. Mär 2022, 18:00
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.
Stefan
“Simplicity, carried to the extreme, becomes elegance.” Jon Franklin

Delphi Sorcery - DSharp - Spring4D - TestInsight
  Mit Zitat antworten Zitat