Benchmarkroutine - brauchbar?

ntag,

mein kleines Programm liefert nicht die erwarteten Benchmark-Ergebnisse. Daher hier mal ein Code-Auszug. Ist sowas überhaupt geeignet um die Leistungsfähigkeit von Prozessoren grob zu vergleichen?

Code:
#include <time.h>
#include <iostream.h>
#include <conio.h>

long MISCHergebnis;
short startMISCH=0, endMISCH=0, MISCHzeit;

void main()
{

//strartzeit nehmen
startMISCH = clock();

//1000000x durchlaufen
for (long MISCHcounter=0;MISCHcounter<1000000;MISCHcounter++)
{
//und Zufallszahlen in allen Möglichen Formen miteinenader verrechnen
srand (time(NULL));
MISCHergebnis=tan(rand()%215)+rand()%144-rand()%79*rand()%31/((rand()%4)+1)-sqrt(rand()%5)-(rand()%5)%6;
}

//Endzeit nehmen
endMISCH=clock();

MISCHzeit = endMISCH-startMISCH;

cout << MISCHzeit;

getch();
}

lg
 
wie "grob" willst Du es haben? ;) Du musst schon Prozessorabhängig werden - sonst vergleichst Du je nach Compiler nur die "386" - aber weder die Erweiterungen noch die HT oder Dualcorefähigkeiten. Auch die ganzen CPU spezifischen Optimierung fallen weg. Eine P3 optimierung mag der P4 nicht und umgekehrt - und z.T brinen diese seher ergebliche Geschwindigkeitsvorteile.

Statt solcher Sachen neuzuerfinden, könntest Du ja einen "Praxistest" machen - Daten kopieren,schreiben, auslesen, ein paar berechnungen durchführen - eben das "gängige". Damit lassen sich imho PCs schon eher vergeichen.
 
Zurück
Oben