Wenn du eine
TStringList verwendest, dauert das Speichern mit SaveToFile() von 100000 Zeilen mit "Keys" weniger als eine Sekunde.
Der Unterschied in der Zugriffsgeschwindigkeit zwischen [TListBox].Items und TStringList liegt mal ganz grob bei 1:100.
Der Grund ist, dass bei [TListBox].Items für jeden Eintrag eine Windows Message verschickt wird und damit um Welten langsamer ist, als bei TStringList mit dem direkten Zugriff auf den
RAM.
Du hast jetzt 2. Möglichkeiten:
a.) wie geplant einen Progressbar einbauen und den Benutzer warten lassen
b.) mit TStringList arbeiten und die Speicherzeit so drastisch reduzieren, dass der Progressbar überflüssig wird