Einzelnen Beitrag anzeigen

Bjoerk

Registriert seit: 28. Feb 2011
Ort: Mannheim
1.384 Beiträge
 
Delphi 10.4 Sydney
 
#28

AW: schnelstmöglich dividieren?

  Alt 27. Mai 2011, 17:12
Bist Du Dir mit den 7864320 /s sicher?

Mit Intel Core 2 Q6600 2,4 GHz 2,4 Ghz 250-300 ms (laut GetTickCount).

Delphi-Quellcode:
function J: integer;
begin
  Result:= Random(10000)+1;
end;


procedure TForm1.Button11Click(Sender: TObject);
const
  N = 7864320;
var
  T: cardinal;
  Ergebnis1, Ergebnis2, Ergebnis3,
  Wert,
  A, B, C,
  X1, Y1, Z1,
  X2, Y2, Z2,
  X3, Y3, Z3: integer;
  I: integer;
  S: double;
begin
  A:= J;
  B:= J;
  C:= J;
  X1:= J;
  X2:= J;
  X3:= J;
  Y1:= J;
  Y2:= J;
  Y3:= J;
  Z1:= J;
  Z2:= J;
  Z3:= J;
  Wert:= J;
  S:=0;
  T:= GetTickCount;
  for I:= 1 to N do
  begin
    Ergebnis1:= (A*X1 + B*Y1 + C*Z1) div Wert;
    Ergebnis2:= (A*X2 + B*Y2 + C*Z2) div Wert;
    Ergebnis3:= (A*X3 + B*Y3 + C*Z3) div Wert;
    S:= S+Ergebnis1+Ergebnis2+Ergebnis3; // damit die CodeOptimierung ..
  end;
  ShowMessage (IntToStr(GetTickCount-T));
  ShowMessage (FloatToStr(S)); // .. nicht zuschlägt
end;


procedure TForm1.FormCreate(Sender: TObject);
begin
  Randomize;
end;
  Mit Zitat antworten Zitat