Registriert seit: 2. Mär 2004
5.508 Beiträge
Delphi 5 Professional
|
Re: Format-Funktion zu langsam
26. Jan 2005, 12:02
[quote="Jelly"]
Delphi-Quellcode:
{ 3D-Matrix mit Parametern }
for Nr := 1 to 2 do begin
for iz := 0 to G.z-1 do begin
V_line[Nr] := format('%s (:,:,%d) = [',[A[Nr],iz+1]) ;
for ix := 0 to G.x-1 do begin
for iy := 0 to G.y-1 do with Thread.Cells[ix,iy,iz] do begin
V_line[Nr] := V_line[Nr] + FloatToStrF (C[Nr],ffFixed,7,4) + ' ' ; // langsam, heisst ung. 20 min.
//V_line[Nr] := V_line[Nr] + '0.0001 ' ; // schnell, par Sekündchen
Deine Auskommentierung ist nicht fair, da du den Zugriff auf das Array C[] nicht berücksichtigt:
Delphi-Quellcode:
// Variante 1
V_line[Nr] := V_line[Nr] + FloatToStrF (C[Nr],ffFixed,7,4) + ' ' ;
// Variante 2 (ohne FloatToStrF)
dummy_float := C[Nr]; // optimierung des compilers ausschalten, sonst wird wegoptimiert
// und da da Array C[] wohl zu Thread.cells gehört, wird dies wohl die Hauptursache
// für dein Performanceproblem sein !!!
V_line[Nr] := V_line[Nr] + '0.0001 ' ;
Andreas
|
|
Zitat
|