[C++] Clock()

DadyCool

Well-known member
ID: 81813
L
30 April 2006
601
19
Hi

scheint ja ein wenig kompliziert zu sein in C++ mit millisekunden zu arbeiten. Ich habe es mal mit Clock versucht. Was ich nicht ganz verstehe:

Clock gibt ja die benötigte Zeit der CPU in millisekunden zurück und wird nicht von anderen laufenden Programmen beeinflusst. Aber warum ist de startwert mal 60 ms und wenn ich dann nochmal starte 0? 8O

edit: Immer wenn ich was am Quelltext ändere ist der Wert beim 1 mal starten > 0 und danach 0

Ist das Prog dann noch im Speicher oder?
/edit



PHP:
#include <iostream>
#include <ctime>


using namespace std;

int main(){
 
  clock_t start, end;
  start = clock();
  cout << "Startzeit: " << start << endl;
  for (int i=0; i < 99999999; i++) {
  }
  

  
  end = clock();
  cout << "Startzeit: " << end << endl;

// später dann hier noch : end - start für die genau Zeit :)

  system("PAUSE");   
  return 0;
}

Ziel ist es halt später die Performance einer Funktion zu testen. Vielleicht hat ja jemand noch ne bessere Lösung.

DadyCool
 
Zuletzt bearbeitet:
Schätze mal, das kannst du so gar nicht beeinflussen. Bevor clock das erste mal aufgerufen wird, geschehen ja schon Dinge in/mit dem Prozess. Ich kenne aber auch nicht die jeweilige Implementation.
 
ist es in C++ nicht so, dass alles im speicher bleibt und du selbst für das löschen sorgen musst, weil es keine garbage collection gibt?

Wenn der Prozess beendet ist, fliegt er aus dem Speicher. Wenn du zur Programmlaufzeit Referenzen auf allokierte Bereiche verlierst, leckt es natürlich. Aber beendet ist beendet.