ho le seguenti due cicli:Domanda sul ciclo di velocità
#include <iostream>
#include <stdlib.h>
#include <time.h>
using namespace std;
int main(){
int start=clock();
for (int i=0;i<100;i++)
cout<<i<<" "<<endl;
cout<<clock()-start<<"\n"<<endl;
cout<<"\n";
int start1=clock();
for (int j=0;j<100;++j)
cout<<j<<" "<<endl;
cout<<"\n";
cout<<clock()-start1<<" \n "<<endl;
return 0;
}
ho incontrato che per tre volte. Nelle prime due corse, il secondo giro era più veloce ma, alla terza, il primo giro era il più veloce. Cosa significa questo? Che è migliore? Dipende dalla situazione?
100 iterazioni possono essere troppo piccole per trarre conclusioni ... – Vladimir
Un altro modo per verificare come il tuo il codice sta facendo nell'area delle prestazioni è guardare l'assemblaggio generato. Probabilmente vedrai la * stessa * stessa cosa generata per ogni ciclo. L'incremento pre-versus post per i tipi primitivi è lo stesso. – GManNickG
@GMan: come può essere lo stesso se la semantica è diversa? D'accordo: l'ottimizzatore probabilmente individuerà il valore di ritorno del postfix da non utilizzare e generando così lo stesso smontaggio. – xtofl