Ho provato ad eseguire un numero grande di cicli for in cui si esegue una moltiplicazione e una divisione:
1) in c++
2) in c#
3) da una dll scritta in c++, ma passando a c# i risultati a attraverso "PInvoke"
I risultati sono stati che il ciclo viene completato su di un vecchio pc in:
1) circa 38 secondi
2) circa 33 secondi
3) circa 50 secondi
Qualcuno mi sa spiegare i motivi per cui ottengo questi risultati?
Premetto che il c++ non lo conosco bene ed ho scritto poche linee di codice solo per fare questo esperimento.
codice:float Ti= clock(); // Tempo iniziale double x = 1.05; for (int var_contatore=1; var_contatore < 1400000000; var_contatore++) { x = x * 1.000011564; x = x / 1.000011562; } float Tf= clock(); // Tempo finale float TempoAccumulato = Tf -Ti; // tempo conteggiato dal reset cout << "x=" << x; cout << "t=" << TempoAccumulato;

Rispondi quotando