Frage zu Performanz zweier Varianten



  • Hallo,

    mich würde interessieren welches Vorgehen bei der Variablendeklaration performanter ist, wenn eine Methode sehr oft aufgerufen wird:

    - die benötigten Variablen einmal im Header deklarieren und dann immer überschreiben

    - die benötigten Variablen innerhalb der Methode jedes mal neu deklarieren

    Sauberer müsste ja eigentlich sein, die Variablen immer lokal zu deklarieren. Ich frage mich nur, ob es nicht zu viel Zeit kostet, da doch jedes mal einen neuer Speicher angelegt wird, oder?

    Ich bin auf dem Gebiet der Performanz-Steigerung nicht gerade bewandert und wäre über jede Hilfe dankbar.

    MfG, TCT



  • TCT schrieb:

    Sauberer müsste ja eigentlich sein, die Variablen immer lokal zu deklarieren. Ich frage mich nur, ob es nicht zu viel Zeit kostet, da doch jedes mal einen neuer Speicher angelegt wird, oder?

    Sauberkeit ist wichtig. Lege die Variablen dort an, wo sie benötigt werden. Bei skalaren Typen wirst du ohnehin keinen Unterschied merken. Und bei grösseren (Klasseninstanzen) wahrscheinlich auch nicht, da eine Zuweisung nicht unbedingt weniger aufwändig als eine Konstruktion ist. Und Stack-Speicher wird sowieso ganz schnell angelegt, new ist da etwas langsamer, dafür viel flexibler.

    TCT schrieb:

    Ich bin auf dem Gebiet der Performanz-Steigerung nicht gerade bewandert und wäre über jede Hilfe dankbar.

    Wichtig ist vor allem, dass du solche kleinen Performanceoptimierungen vorerst in den Hintergrund rückst und auf sauberen und gut strukturierten Code achtest. Wenn du später merkst (nicht vermutest, sondern mittels Profiler misst), dass du ernsthafte Probleme hast, kannst du immer noch optimieren.


Anmelden zum Antworten