Delphi-Strings sind seit D2009 Unicodestrings (2 Byte pro Zeichen / UTF-16).
Die Aktionen damit sind definitiv langsamer und wenn man einige Fehler macht erheblich langsamer
Über die Jahre wurden so einige Funktionen optimiert.
Vor allem seit FastMM und als große Teile des FastStrings-Projekt ins Delphi übernommen wurden, gab es große Sprünge, in Richtung schnell.
Abgesehn von den 2 Byte, sind aber die Behandlungen von AnsiString und UnicodeString prinzipiell gleich und sind nicht wirklich ein Tempoproblem.
Zu Beginn des
Unicode waren aber auch noch die StringCheckings extrem bremsend, aber die wurden schnell wieder entfernt.
Und jetzt eben neu die aktiven Bereichs- und Indexprüfungen, wobei LongStrings (
Ansi und
Unicode) quasi prinzipiell sowas wie aufgemotzte dynamische Arrays sind.