Forum: Object-Pascal / Delphi-Language
Delphi
by Patito,
8. Feb 2011
Es spricht viel dafür, dass der Compiler intern für die Strings ein Dictionary anlegt.
Und letztenendes ist es nur Wortklauberei, ob man das jetzt Komprimierung nennt oder nicht.
(Dictionary compression...)
Forum: Object-Pascal / Delphi-Language
Delphi
by Patito,
8. Feb 2011
Vermutlich wird jeder String vom Compiler erst mal komprimiert,
und das geht eben besser wenn man nur einen großen String hat.
Taucht jeder Buchstabe einzeln in einer Add-Zeile auf, gäbe es ja praktisch gar keine Möglichkeit etwas zu komprimieren. Dass man das Limit mit einem einzelnen längeren String erst später erreicht ist dann eigentlich logisch.
Das Limit an sich ist aber so oder so...
Forum: Object-Pascal / Delphi-Language
Delphi
by Patito,
7. Feb 2011
Ok himitsu, Du hast damit recht. Bei gleichen oder ähnlichen Strings packt D7 sehr viele Adds.
Mit GUIDs der Art
AktList := TStringList.Create;
AktList.Add('{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}');
...
Forum: Object-Pascal / Delphi-Language
Delphi
by Patito,
7. Feb 2011
Nein. 40000 Literale genau so wie im Code vom ersten Beitrag hier...
Forum: Object-Pascal / Delphi-Language
Delphi
by Patito,
7. Feb 2011
Ich hab gerade mal eine Prozedur mit 40000 Adds zu einer StringList getestet.
Mit D7 anscheinend kein Problem...