Ich denke mal, das hier große Mengen an Daten in irgendwelchen Listen gespeichert werden, ohne das diese sich leeren (oder geleert werden).
Bestes Beispiel ist das TMemo. Das einfügen neuer Strings geht anfangs ratzfatz. Mit 20k Zeilen spürt man schon deutliche Längen nach TMemo.Add, mit 30k Zeilen bewegen wir uns langsam im Sekundenbereich für das Add etcpp. Dieselben Probleme hat auch TList, TStringList, TObjectList, TGrid und und und. Dieses Phänomen habe ich schon mit Delphi 1 beobachtet und bis heute existiert dieses Problem.
Da man dieselben Laufzeiten beobachtet, wenn man eine Textdatei >5MB mit Notepad öffnet, tippe ich auf ein in der
WinAPI vergrabenes Problem mit Listen aller Art.
Abhilfe: Verhindern, das diese Listen ein gewisses Maß an "Füllgrad" überschreiten oder passende Controls suchen, die nicht auf dem
WinAPI-"TList" basieren.
Ich habe bisher noch kein Betriebssystem und keine Programmiersprache erlebt, bei denen der Zeitraum für die sequenzielle Verarbeitung von Daten, nicht proportional zur Datenmenge anwuchs. Aber vielleicht kennst Du ja Alternativen.
Gruß
K-H