feivel3333 Geschrieben 18. April 2020 Melden Share Geschrieben 18. April 2020 Hallo zusammen, generell meine ich zu wissen, wo ich Variablen deklarieren soll. Wird die Variable nur in einer Methode gebraucht, dann dort, ansonsten, wenn sie klassenintern aber methodenübergreifend gebraucht wird, oben im Kopf der Klasse. Jetzt ist es bei mir im Kopf aber so eine Performance-Frage: Wenn ich beispielsweise in Update() eine Variable deklariere, dann wird sie jedes Mal erzeugt, wenn Update() ausgeführt wird - und das ist ja nicht selten. Je nach Geschwindigkeit pro Sekunde 50 mal und aufwärts. Sie wird erzeugt, benutzt und wieder gelöscht. Das Ganze dauert Zeit. Nun kam mir die Idee, die Variable als Klassenvariable zu deklarieren (die heißen dort oben sicher irgendwie anders, ich meine Membervariable oder ähnlich). Egal, ihr wisst sicher, was ich meine. Die Konsequenz ist natürlich, dass die Variablen dann von jeder Methode manipuliert werden können. Das ist mir bewusst, aber wenn man beim Programmieren aufpasst, sollte da nichts passieren. Die Frage ist: Macht das performancemäßig spürbar was aus? Sie bräuchten dann nicht bei jedem Durchlauf von Update() oder sonstigen Methoden angelegt und wieder gelöscht werden. Der interne Verwaltungsaufwand würde wegfallen. Danke für eure Tipps schon mal im Voraus. André Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Sascha Geschrieben 18. April 2020 Melden Share Geschrieben 18. April 2020 vor 18 Minuten schrieb feivel3333: Das Ganze dauert Zeit. Wie kommst du darauf? Es ist ein Riesenfehler, einfach Annahmen über Performance zu treffen und dann zu versuchen, zu optimieren wo es nichts zu optimieren gibt. "Premature Optimization" ist ein Projektkiller. Um die Performance von lokalen Variablen brauchst du dir wirklich keine Sorgen zu machen. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.