Einzelnen Beitrag anzeigen

Stefanie

Registriert seit: 12. Aug 2004
21 Beiträge
 
#1

Wie schnellste Berechnung in einer Datenreihe ?

  Alt 13. Mär 2005, 16:03
Ich habe eine Datenreihe mit ca. 5000 Werten in einem Array gespeichert. Nun möchte ich mit jedem Wert im Array Berechnungen mit anderen Werten durchführen lassen. Das hat eine hohe Anzahl von Schleifendurchläufen zur Folge. Unteres Bsp. soll mein Vorhaben ein wenig erklären. Bis die untere Procedure abgearbeitet ist dauerts auf meinem Rechner ca. 0,7 Sek. , bei 10000 Berechnungen – ist ja noch OK.
Aber bei 10 Mio Berechnungen pro Wert im QuellArray sind’s schon 7000 Sek. = 116 min und das ist mir ein wenig zu lang.
Gibt’s ne andere Möglichkeit, wie die ganze Sache effektiver berechnet wird oder ist gar die Sache mit dem Array nicht optimal.
Erfolgen Berechnungen in Datenbanken schneller ?

Bin dankbar für jeden Tip.


Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var i,j : integer;
    QuellDataArray, ZielDataArray : array[0..5000] of integer;
    starttime : tdatetime;
begin

  for i := 0 to 5000 do QuellDataArray[i] := random(1000000);

  starttime := now;

  for i := 5 to 4995 do
    for j := 0 to 10000 do ZielDataArray[i] := QuellDataArray[i] + QuellDataArray[i – 5 + random(10)];


  button1.Caption := formatdatetime('ss:zzz "Sek."' ,now - starttime);
end;
  Mit Zitat antworten Zitat