Einzelnen Beitrag anzeigen

mytbo

Registriert seit: 8. Jan 2007
472 Beiträge
 
#13

AW: Record threadsicher verwenden

  Alt 17. Mär 2021, 12:05
Ich antworte allgemein. Wenn du noch kein gutes Gefühl für die richtige Architektur hast, probiere zuerst die einfachste Lösung aus: "make it work, then make it fast".

TDynArray/TDynArrayHashed sind nur die "mächtige Verwaltung" eines array of x. Values und Keys in einem TSynDictionary sind TDynArray/TDynArrayHashed Arrays. Wenn du den Array-Index des Values hast, hast du auch den Array-Index des Keys. TSynDictionary ermöglicht den direkten Zugriff auf die Values. Count gibt den Füllstand zurück. Mit Values.ElemPtr(idx)^ greifst du zu. Und Threadsafe wird es mit einem Lock/UnLock um alles. Die Ausführungszeit dürfte sich im Bereich us Sekunden bewegen. Du kannst die benötigten IDs damit zusammensammeln.

Wenn dich die genaue Zeit interessiert:
Delphi-Quellcode:
var
  Timer: TPrecisionTimer;
begin
  Timer.Start;
  ...
  ShowMessage(Format('Total time: %s', [Timer.Stop]));
end;
Bis bald...
Thomas
  Mit Zitat antworten Zitat