![]() |
Performence Array oder einzelne Integervariablen
Moin.
Es liegen 5 Variablen vor. Dabei handelt es sich um den Typ Integer. Ist es aus Gründen der Performence besser diese Variablen in einen Array zusammen zu fassen oder einzelnt als Integervariblen zu deklarienen? |
Re: Performence Array oder einzelne Integervariablen
Es ist weder besser noch schlechter. Nimm einfach das, was die Lesbarkeit des Codes erhöht. ;)
|
Re: Performence Array oder einzelne Integervariablen
Zitat:
|
Re: Performence Array oder einzelne Integervariablen
Die gewählte Datenstruktur sollte sich aus der Programmlogik ergeben. Es macht keinen Sinn, eine Liste aus mehreren zusammenhängenden Werten in einzelne Variablen zu speichern. Umgekehrt macht es keinen Sinn, mehrere Variablen, die nichts miteinander zu tun haben, in ein Array zu speichern.
|
Re: Performence Array oder einzelne Integervariablen
Hängt davon ab, wie du die Werte adressiert. Folgendes dürfte den gleichen Code erzeugen:
Delphi-Quellcode:
und
var
a, b, c, d, e: Integer; begin a := 5; b := 4; c := 3; d := 2; e := 1; end;
Delphi-Quellcode:
Wohingegen eine Schleife langsamer wäre:
var
a: Array[0..4] of Integer; begin a[0] := 5; a[1] := 4; a[2] := 3; a[3] := 2; a[4] := 1;
Delphi-Quellcode:
Letzteres benötigt jedesmal eine Adressrechnung, ein Inkrementieren des Zählers und ein Test, ob die Schleife beendet ist.
var
a: Array[0..4] of Integer; i: Integer; begin for i := Low(a) to High(a) begin a[i] := 5 - i; end; 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. |
Re: Performence Array oder einzelne Integervariablen
so weit erst einmal dank
dennoch würde ich gerne wissen, warum es keinen unterschied gibt das würde ich gerne genau verstehen |
Re: Performence Array oder einzelne Integervariablen
Weil bei statischen Arrays, deren Elemente im Code durch einen konstanten Index aufgerufen werden, die Adresse wie bei normalen Variablen dem Compiler schon bekannt ist.
|
Re: Performence Array oder einzelne Integervariablen
wunderbar :-D
vielen dank! |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:11 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz