C++: Zeit messen für bestimmte Anweisungsblöcke

feuerfuchs

Lt. Commander
Registriert
Dez. 2007
Beiträge
1.100
Hi,
ich will mit C++ die Zeit für Bestimmte Anweisungsblöcke messen.
Angenommen man hat folgenden Code:

// ForSchleife.cpp - Quadratzahlen berechnen
#include <iostream>
#include <conio.h>
using namespace std;

int main()
{
int bis;
int loop;
int quadr;

cout << "Quadratzahlen berechnen von 1 bis :" << endl;
cin >> bis;

for(loop = 1; loop <= bis; ++loop)
{
// Beginn der Zeitmessung
quadr = loop * loop;
// Ende der Zeitmessung
cout << "Das Quadrat von " << loop << " ist: "
<< quadr << endl;
}

getch();
return 0;
}


Ich möchte also - wie man es den Kommentaren entnehmen kann - nur die benötigte Zeit für die Rechnung und die Speicherung in "quadr" wissen, nicht für den Rest.
thx für die Antworten...
 
Hi,

gehe mal auf die Seite Tutorials.de << forum << Programmieren und dort auf die entsprechende Seite.

Dort findest du die gleiche Frage und die Antworten.
:) :) :) :)
 
Du willst aber doch nicht wissen wie lange eine CPU braucht um zwei Integer miteinander zu multiplizieren... Das ist nämlich Kürzer als du messen kannst.
Ich hab nicht besonders viel Ahnung von Prozessordesign, würde aber behaupten dass man für eine Multiplikation genau einen Takt braucht also bei einem 2,0 GHz Prozessor genau 1 / 2 Milliarden Sekunden ;)
Und wenn er halt 20 Takte braucht dann halt 20 / 2 Millarden Sekunden. Was immernoch recht wenig ist ^^
 
Hm, ne. Ne Multiplikation wird üblicherweise über ne Shiftoperation und anschließende Addition gelöst. :D
 
Zurück
Oben