Benchmark in c++ (Konsole)
-
Ich möchte gerne eine Art Benchmark Programm schreiben mit dem ich die Leistung eine Computers testen kann, in diesem Fall die CPU Geschwindigkeit. Könnt ihr mir bitte tipps geben.
-
Naja, such Dir halt irgendeine rechenintensive Aufgabe und rechne sie. Dann machste ne Messung, wie lange der Rechner braucht. Du solltest allerdings darauf achten, daß Du nicht so ungeschickt implementierst, daß der Rechner die ganze Zeit auf den Speicher wartet, sonst benchst Du nicht die CPU, sondern die Speicherbandbreite.
-
benchen lohnt nur wenn du genau den Anwendungsfall weist, wofuer dieser index relevant ist ....
willst du die fpu messen, kannst ihm paar schoene rekursive allgos ala FFT oder so unterjubeln ....
bei der CPU selber hasst eher nen problem nen unabhaengigen leistungsindex zu ermitteln ... die einen sind mit 32 bit schneller, die anderen mit 64bit ...
ne testroutine fuer integer operationen iss da aufwendiger, weil du erst die registerbreite ermitteln muesstest.
Eigentlich sind simple integer operationen nur von der taktfrequenz noch abhaengig.
Komliziertere dinge kann die cpu durch spezielle befehle beschleunigen, das wiederum ist vom prozessor befehlssatz abhaengig (SSE MMX 3DNOW ...) sprich um diese sachen wirklich so testen zu koennen musst den support dafuer einschalten (im compiler) / das BS muss es unterstuetzen, gewisse standard c++ operationen verfaelschen dir auch dann das Bild ... musst also eher sehr BS / Prozessornah programmieren also lieber c oder asm nehmen .... zumindest fuer die testroutinen.Laufzeiten ermittelt man sinnigerweise ueber das taktregister, was dir die takte des prozessors hochzaehlt (rtc) mit der (prozessor)freuquenz kommst dan auf ungefaehre millisek ....
Ciao ...
-
Dieser Thread wurde von Moderator/in HumeSikkins aus dem Forum C++ in das Forum Rund um die Programmierung verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.