Forum: Programmieren allgemein
by Linor,
2. Nov 2011
Wie würde das gehen? Habe mal gemessen, der Elf hashed 10.000 Strings a 10 Zeichen in 1ms, denke das ist mehr als ausreichend für mich :P
Forum: Programmieren allgemein
by Linor,
2. Nov 2011
Habe ich sowohl mit GetProcessMemoryInfo also auch im TaskManager abgelesen... Ich denke mal das die Strings im Schnitt länger sind als gedacht und das die Objekte noch weitere Objekte haben die wieder Strings haben, so eine Art rekursivität :|
BTW: Weiss jemand ob man ein TDictionary<Integer, String> sortiert abfragen kann?
Also for field in Fields.Values do.... Im Moment kommen die...
Forum: Programmieren allgemein
by Linor,
1. Nov 2011
Hallo,
nachdem ich das implementiert hatte, konkret geht es hier um Feldnamen in einem TMyField und einem TMyDataRecord, hatte ich bei 30.000 Datensätzen eine Einsparung von knapp 150MB, weiss nicht wie Zahlen zu stande kommen, aber ist halt so... :shock:
Mein erster Ansatz mit der TStringList zeigte das ja schon, aber die war halt zu langsam :oops:
Forum: Programmieren allgemein
by Linor,
1. Nov 2011
Danke für die Hinweise :-D
Für mich optimal war das TDictionary<Cardinal, String> in Kombination mit dem recht schnellen ELF-Hash, beim Hinzufügen wird Add(HashOfString, String) abgelegt und der Hash wird sich gemerkt. Mit dem Hash kann ich dann direkt auf Elemente zugreifen :thumb:
Kennt vielleicht jemand einen anderen, noch schnelleren Hash?
Forum: Programmieren allgemein
by Linor,
31. Okt 2011
Hallo Zusammen,
ich suche für folgendes ein Ersatz:
FFieldNames = TStringList
function GetFieldIndex(Name: String): Integer;
var
idx: Integer;
begin