Einzelnen Beitrag anzeigen

Chewie

Registriert seit: 10. Jun 2002
Ort: Deidesheim
2.886 Beiträge
 
Turbo Delphi für Win32
 
#5

Re: Performence Array oder einzelne Integervariablen

  Alt 6. Aug 2005, 17:41
Hängt davon ab, wie du die Werte adressiert. Folgendes dürfte den gleichen Code erzeugen:

Delphi-Quellcode:
var
 a, b, c, d, e: Integer;
begin
  a := 5;
  b := 4;
  c := 3;
  d := 2;
  e := 1;
end;
und

Delphi-Quellcode:
var
  a: Array[0..4] of Integer;
begin
  a[0] := 5;
  a[1] := 4;
  a[2] := 3;
  a[3] := 2;
  a[4] := 1;
Wohingegen eine Schleife langsamer wäre:

Delphi-Quellcode:
var
  a: Array[0..4] of Integer;
  i: Integer;
begin
  for i := Low(a) to High(a)
  begin
    a[i] := 5 - i;
  end;
Letzteres benötigt jedesmal eine Adressrechnung, ein Inkrementieren des Zählers und ein Test, ob die Schleife beendet ist.

Aber generell sollte sowas keine Rolle spielen, in den wenigsten Fällen kommt es auf die paar Takte an, die bei sowas rausgeholt werden können.
Martin Leim
Egal wie dumm man selbst ist, es gibt immer andere, die noch dümmer sind
  Mit Zitat antworten Zitat