Tempo von Array Zugriffen ?
-
Hi Leute !
int xyz[3];Wenn ich jetzt wie folgt zugreife...
[...] int t= xyz[0] + xyz[2] + [...hier ganz viele weitere Arrayzugriffe auf xyz...] [...]...und das ganze wiederum auf extrem oft, wäre es dann schneller wenn
ich ohne Array arbeiten würde ?int x; int y; int z;[...] int t= x + z + [...hier ganz viele weitere Zugriffe auf x, y oder z...] [...]Meine Frage ist also ob der Arrayzugriff langsamer ist
als der direkte Zugriff auf eine Variable ? Also ich
kann mir gut vorstellen das er langsamer ist wenn ich
als Arrayindex eine Variable benutzen würde, aber wie
ist das wenn ich eine Konstante (hier 1...2) verwende ?
Ersetzt das irgendwie der Compiler beim Bauen schon
durch einen Direktzugriff der genauso schnell ist wie
ein Variablenzugriff ?
Ok ich hoffe jemand kann mir da weiterhelfen, danke !

-
Vermutlich wird der Compiler den Code so optimieren, dass kein Unterschied besteht. Das ist ja nicht allzu schwierig.
Aber warum stellst du dir die Frage überhaupt? Es ist immer am besten, so zu codieren, dass der Code gut funktioniert (also gut lesbar ist, wartbar ist usw.), und dem Compiler den Rest zu überlassen. Wenn du feststellst, dass dein Programm zu langsam ist, kannst du dir immer noch Gedanken machen. Ich würde sagen, dass du bei einem so kleinen Array nie einen Geschwindigkeitsnachteil feststellen wirst.