Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by Uwe Raabe,
6. Dez 2023
Ich weiß zwar noch nicht wie der Index dann aufgebaut werden soll, aber hier mal ein paar Ansätze:
type
TTimeRecord<T> = record
Time: TDateTime;
Value: T;
end;
type
TDataRecord = TTimeRecord<Double>;
Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by Uwe Raabe,
6. Dez 2023
So wie du es beschreibst ist der Index-Record genauso groß wie der Daten-Record. Wenn du den Index komplett im Speicher halten kannst, dann kannst du auch direkt die Daten in den Speicher laden und sortieren.
TDataRecord enthält faktisch zwei Double (8 Byte) (was das packed schon mal überflüssig macht). Somit hat ein TDataRecord eine Größe von 16 Byte, was bei 10.000.000 Datensätzen weniger...