Einzelnen Beitrag anzeigen

shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#9

Re: Format-Funktion zu langsam

  Alt 26. Jan 2005, 11: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
  Mit Zitat antworten Zitat