Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.079 Beiträge
Delphi 12 Athens
|
AW: RTL Performance D7 vs XE7
11. Sep 2014, 21:59
Der FastMM kann InPlace-Realocations, also verkleinern/vergrößern, ohne daß der alte Speicherblock verschoben werden muß.
Vorallen bei größeren Speicherblöcken und wenn dahinter genug Platz ist.
Das alte FastStringsProjekt wurde teilweise ins Delphi übernommen (irgenwann um/nach 2006).
Generics sollte nicht schneller sein, als die nicht-generische Variante, bzw. gleich schnell.
Im Prinzip sind dort "nur" die manuellen Casts durch automatische ersetzt, wobei damit der Compiler besser für Typsicherheit sorgen kann.
Bei Listen, also vorallem wenn dir die Sortierung egal ist, wären die TDictionary<T>'s ein Überlegung wert, da sie eine optimalere Suchfunktion besitzen, als z.B. die TStringsList.
Insgesamt hat man die generischen Listen oftmals um Hashlisten, Binäre suchen und Dergleichen aufgemotzt, was die alten Funktionen nicht immer hatten.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
|