Autor Beitrag
NOS1971
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 193

Windows 8.1 PRO 64 Bit
Delphi XE7 Professional
BeitragVerfasst: Sa 13.04.13 22:48 
Hallo,

ich frage mich grad ob welche Liste sich für eine Eintragszahl >30000 Einträge besser nutzt und welche Liste da schneller Arbeitet. TList oder TStringlist oder gibt es andere Varianten ? Die Eintragsbasis ist ein String. Angehangen wird ein Objekt mit weiteren dazugehörigen Daten. Interessant wäre auch ob es eine Begrenzung der Einträge gibt.

Ich würde mich über Eure Meinung und Erfahrungen freuen.

LG,

Andreas
Tranx
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 648
Erhaltene Danke: 85

WIN 2000, WIN XP
D5 Prof
BeitragVerfasst: So 14.04.13 08:36 
Ich geher fast - ohne das beweisen zu können - davon aus, dass TSringlist besser geeignet ist, Deine Strings zu verwalten, als TList. Ob schneller, weiß ich nicht. Aber Du musst ja bei TList, welches ja nur Pointer verwaltet, den Strings selber Speicherplatz zuordnen, während das in der Add-Prozedur von TStringlist automatisch passiert. Und umgekehrt beim Entfernen musst Du den Speicherplat in TList selber freigeben, was bei TStringlist wiederum automatisch passiert. Der Eigenanteil an der Listenverwaltung ist daher sicher ein wenig größer und Fehler schleichen sich dann auch eher ein. Daher würde ich eher zu TStringlist oder TStrings (Vorgänger von TStringlist) raten. Zumal Du bei TStringlist noch den Vorteil einer sortierten Liste, falls benötigt, hast, die sogar u.U. Doppeleinträge abblockt, wenn Du die Eigenschaft Duplicates auf dupError setzst.

_________________
Toleranz ist eine Grundvoraussetzung für das Leben.

Für diesen Beitrag haben gedankt: NOS1971
Lemmy
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 792
Erhaltene Danke: 49

Windows 7 / 10; CentOS 7; LinuxMint
Delphi 7-XE10.1, VS 2015
BeitragVerfasst: So 14.04.13 10:23 
Hi,
und wenn Du in der Stringlist noch nach bestimmten Strings suchen musst um das Objekt zurück zu holen, dann schaue dir mal THashedStringList an.

Für diesen Beitrag haben gedankt: NOS1971
bummi
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 1248
Erhaltene Danke: 187

XP - Server 2008R2
D2 - Delphi XE
BeitragVerfasst: So 14.04.13 16:15 
Ich kenne Deine Delphiversion und das Ziel Deiner Anwendung nicht, gegf. ist TDictionary eine Alternative.

_________________
Das Problem liegt üblicherweise zwischen den Ohren H₂♂
DRY DRY KISS