Nehmen wir an, es gibt eine Funktion, die ich millionenfach aufrufen muss. Arithmetische Operationen, die von dieser Funktion ausgeführt werden, sind nicht so schwer, so dass es nur darauf ankommt, wie schnell alle Variablen zugewiesen werden. Wir nehmen auch an, dass die Variable immer auf Stapel zugeordnet ist. Das einfachste Fall Beispiel:Optimierung häufig aufgerufener Funktionen mit großen lokalen Variablen (C++)
void doSomething(){
int aReallyLargeVariable[10000];
...performing a few light operations on that variable and returning nothing...
}
Ich weiß, dass, wenn die Funktion es ist alles wieder Variablen zerstört werden, so
wäre es nicht besser, diese Variable cachen, indem sie statisch oder global zu machen? Was wäre der beste Weg, um es zu optimieren?
Machen Sie die Variable zu einem Parameter der Funktion und verwenden Sie die gleiche Variable für viele Funktionsaufrufe? – rozina
Wird die Funktion rekursiv oder gleichzeitig aufgerufen? –
Und - da Sie bereits alternative Designs kennen, können Sie Ihre Benchmark-Ergebnisse mit den Vergleichen teilen, die Sie sicherlich schon durchgeführt haben? –