Einzelnen Beitrag anzeigen

idefix2

Registriert seit: 17. Mär 2010
Ort: Wien
1.027 Beiträge
 
RAD-Studio 2009 Pro
 
#27

AW: Mein Programm ist Arbeitsspeicher hungrig..

  Alt 19. Mai 2015, 20:40
Von den Speicherlecks abgesehen:
Wenn du 12 booleans aus jedem Record platzsparend speichern willst, dann machst du einen Aufzähltyp für die zwölf Variablen und speicherst die 12 boolean Werte in einer Variable von Typ set of Aufzähltyp.
Dann brauchen die 12 Booleans zusammen nur zwei Bytes.
Und den 5 byte langen String kannst du in einem array[1..5] of AnsiChar stecken (mit Null-Bytes auffüllen, wenn der string kürzer ist) - ausser natürlich, die Strings können unicode Zeichen beinhalten, die nicht in 8 bit darstellbar sind.
Dann braucht jeder deiner 41000 Einträge genau 7 bytes komplett inklusive der Strings.
Wenn du die Variablen als properties der Klasse deklarierst und entsprechende getter und setter schreibst, ist das völlig transparent, nur natürlich zur Laufzeit etwas langsamer als eine native Speicherung der Daten.

Geändert von idefix2 (19. Mai 2015 um 20:54 Uhr)
  Mit Zitat antworten Zitat