Performance Unterschied zwischen globaler und statischer Variable
-
Hallo,
wenn ich ein Array in einer Compilation Unit als static deklariere, so muss ich jedes mal, wenn ich in einer anderen Compilation Unit das Array maniplulieren will, Getter- und Setter-Funktionen aufrufen.Wenn ich das sehr sehr sehr oft pro sekunde machen müsste, wäre es klüger dieses Array global zugänglich zu machen, indem ich es in einem Header als extern deklariere? Macht das einen Unterschied oder wird das sowieso weg-optimiert?
Falls man jetzt sagen würde, speicher einfach die Adresse des Arrays: Aufgrund der Struktur des Programms ist diese Vorgehensweise nicht sinnvoll.
Danke für eure Antworten.
-
@daniel sagte in Performance Unterschied zwischen globaler und statischer Variable:
wird das sowieso weg-optimiert?
Vermutlich nicht. Im Zweifel: messen.
wäre es klüger dieses Array global zugänglich zu machen
Da du schon setter/getter hast, ist es letzten Endes bereits global.
Falls man jetzt sagen würde, speicher einfach die Adresse des Arrays: Aufgrund der Struktur des Programms ist diese Vorgehensweise nicht sinnvoll.
???
-
@daniel schreib doch einen Getter für die Adresse des Array.
Das
static
schränkt nur die Sichtbarkeit ein, nicht den Zugriff.
-
@manni66 sagte in Performance Unterschied zwischen globaler und statischer Variable:
Vermutlich nicht.
Ich behaupte das Getentum. ... Compiler verraten oder Assembly selbst ansehen.
-
@daniel
Wieso verrätst du uns nicht etwas mehr über das was du machen willst?
Ansonsten: Probier es doch einfach aus.