Ich verstehe nicht, wieso hier immer behauptet wird, eine TStringlist sei so langsam. Es ist nichts anderes als ein dynamisches Pointer-Array. Die automatisch stattfindende Vergrößerung ist ausreichend performant. Ich sehe normalerweise keinerlei Vorteil eines Arrays ggü einer Stringlist.
In Zeiten der objektorientierten Programmierung sollte man tunlichst die Finger von Arrays lassen, ausgenommen, man weiss genau, wie viele Elemente das Array enthalten wird. Die ganzen Vorteile der
OOP (Austauschbarkeit, Persistenz etc.) geht doch flöten, wenn man die billigen Arrays nimmt.
Ich verwende eine TStringlist wo immer es geht. Falls ich denn meine, eine TStringlist ist mir zu langsam, würde ich sie ggf. durch eine geeignetere Klasse ersetzen. Allerdings ist es so, das so eine Liste i.A. nur dann 'lahm' wird, wenn sehr viele Daten zu speichern sind. Und dann nimmt man z.B. eine Datenbank, oder andere Strukturen, wie z.B. eine THashedStringlist oder eine Hashmap o.ä.