Einzelnen Beitrag anzeigen

Benutzerbild von Meflin
Meflin

Registriert seit: 21. Aug 2003
4.856 Beiträge
 
#1

array of string und die Performance-Schraube

  Alt 16. Mär 2008, 17:01
Moin moin!

Folgende Situation: ich habe mehrere Instanzen einer Klasse (sg. "Nodes"). Jede dieser Nodes hat ein array of string sowie einen Tickcounter, der einen Array-Index repräsentiert.

Nun müssen die jeweiligen Werte aus jedem Node ausgelesen und zu einem string zusammen gesetzt werden. Bis jetzt mache ich das schlicht und einfach so:
Delphi-Quellcode:
Result := '';
for i := Low(FNodes) to High(FNodes) do begin
  Result := FNodes[i].ElementList[FNodes[i].IncCount] + Result;
end;
Doch nun habe ich das Projekt mal durch einen Profiler gejagt und da hat sich diese Operation ganz klar als Flaschenhals herausgestellt. Nun ist es auch so, dass das Millionenfach ausgeführt wird, also es sich durchaus um eine Stelle handelt, an der sich Optimieriungen lohnen würden.

Nur fehlt mir da gerade jegliche Idee, wie man das anders gestalten könnte. Vorschläge sind also sehr erbeten

  Mit Zitat antworten Zitat