Il codice asm generato per il metodo const sarà lo stesso se il const è presente oppure no. const è una funzione del compilatore, non del runtime, quindi se ci sono dei guadagni in termini di prestazioni, penserei che il compilatore di ottimizzatori possa usare il const come suggerimento per cose come l'inlining o la determinazione degli effetti collaterali per una possibile ottimizzazione. Quindi, in breve, l'ottimizzatore potrebbe essere in grado di aiutare un po ', ma se il metodo è semplice per iniziare, dubito che il codice generato dall'ottimizzatore sia qualsiasi const const o no.
Ecco un'ottimizzazione semplice che uso (piuttosto che perdere e perdere cose come const) che richiedono un secondo ma danno i frutti. Organizza le tue variabili di classe in modo che cadano sui limiti della linea di cache un po 'meglio e metti insieme le tue variabili più accessibili. Per farlo basta mettere i vostri interi, doppie, galleggianti, ecc insieme alla parte superiore delle vostre dichiarazioni di classi variabile e le variabili dimensioni dispari in fondo in questo modo:
int foo;
int bar;
double baz;
SomeObject obj;
char ch[14];
fonte
2009-05-01 04:47:32
Perché pensi che potrebbe "ottimizzare" il programma? Questo non è il suo scopo. –
Ho sempre sentito parlare di come dichiarare const per una variabile aiuterebbe l'ottimizzazione. Non vedo molto nel dichiarare const in questo modo se non per ottimizzare. – Unknown
Questo è stato [chiesto prima.] (Http://stackoverflow.com/questions/751681/meaning-of-const-last-in-ac-method-declaration) –