Ich hatte mal vor Jahren (mit Delphi <= 7 ?) die Erfahrung gemacht, dass ein
Memo1.Lines.Text := Liste.Text;
deutlich schneller war als ein
Memo1.Lines.assign(Liste);
Das gilt immer noch.
Ein
Memo1.Lines := Liste
oder
Memo1.Lines.Assign(Liste)
arbeitet jede Zeile einzeln ab, während ein
Memo1.Lines.Text := Lines.Text
das alles mit einem einzigen Aufruf der
WinApi erledigt.