Zeitmessung mit _ftime
Zeitmessung mit _ftime
Hallo!
Kann mir bitte jemand sagen, wie man mit (_)ftime die dauer des Kompiliervorganges berechnen und danach ausgeben kann? Damit will ich sehen, welches Programm "schneller" ist. Ich hab schon ewig gegoogelt und das war das beste, was ich finden konnte: http://www.warpspeed.com.au/cgi-bin/inf ... EF.INF+141
Jedoch bekomm ich so lediglich die aktuelle Zeit. Möglichst viele Nachkommastellen wären halt auch toll... Borland gibt bei meinem Miniprogramm nämlich nur 0.020 s an.
Kann mir bitte jemand sagen, wie man mit (_)ftime die dauer des Kompiliervorganges berechnen und danach ausgeben kann? Damit will ich sehen, welches Programm "schneller" ist. Ich hab schon ewig gegoogelt und das war das beste, was ich finden konnte: http://www.warpspeed.com.au/cgi-bin/inf ... EF.INF+141
Jedoch bekomm ich so lediglich die aktuelle Zeit. Möglichst viele Nachkommastellen wären halt auch toll... Borland gibt bei meinem Miniprogramm nämlich nur 0.020 s an.
Re: Kompilierzeit mit _ftime
Idee!
Ich könnte am Beginn des Progs "millitm" auslesen und am Ende auch und dann einfach subtrahieren. Mal ausprobiern
Aber das wär dann doch nicht ganz der gewünschte Effekt...
Ich könnte am Beginn des Progs "millitm" auslesen und am Ende auch und dann einfach subtrahieren. Mal ausprobiern
Aber das wär dann doch nicht ganz der gewünschte Effekt...
Re: Kompilierzeit mit _ftime
Was ich gesehen hab ist (_)ftime eine Funktion aus einer C-Bibliothek und wir deshalb auch erst zur Programmlaufzeit aufgerufen und nicht während dem kompilieren.nufan hat geschrieben:Kann mir bitte jemand sagen, wie man mit (_)ftime die dauer des Kompiliervorganges berechnen und danach ausgeben kann?
Die benötigte Zeit zum kompilieren tun eigentlich die meisten IDEs sowieso anzeigen, da sollte es also kein Problem geben.
Aber wozu willst du das so genau wissen? Es ist doch nicht wichtig wie schnell ein Kompiler bei kleinen Programmen ist, sondern erst bei größeren Programmen, und wenn man da selber kaum einen Unterschied in der benötigten Zeit zum Kompilieren des gleichen Codes bemerkt, dann ist es doch egal welchen man nimmt, da es ja nicht auf Mikrosekunden ankommt.
Auch hier das gleiche Problem wie oben. Es werden keine Funktionen zur Kompilierzeit aufgerufen.nufan hat geschrieben:Idee!
Ich könnte am Beginn des Progs "millitm" auslesen und am Ende auch und dann einfach subtrahieren. Mal ausprobiern
"Make it idiot-proof and someone will invent an even better idiot." (programmers wisdom)
OpenGL Tutorials und vieles mehr rund ums Programmieren: http://www.tomprogs.at
OpenGL Tutorials und vieles mehr rund ums Programmieren: http://www.tomprogs.at
Re: Kompilierzeit mit _ftime
Es soll zeigen, dass Pointer "schneller" sind als das Feld per Index zu übergeben. Kompilierzeit... wohl schlecht ausgedrückt. Wohl eher die Laufzeit des Programmes.Kerli hat geschrieben:Aber wozu willst du das so genau wissen? Es ist doch nicht wichtig wie schnell ein Kompiler bei kleinen Programmen ist, sondern erst bei größeren Programmen, und wenn man da selber kaum einen Unterschied in der benötigten Zeit zum Kompilieren des gleichen Codes bemerkt, dann ist es doch egal welchen man nimmt, da es ja nicht auf Mikrosekunden ankommt.
Re: Kompilierzeit mit _ftime
Aso. Dann ist es ja klarnufan hat geschrieben:Es soll zeigen, dass Pointer "schneller" sind als das Feld per Index zu übergeben. Kompilierzeit... wohl schlecht ausgedrückt. Wohl eher die Laufzeit des Programmes.Kerli hat geschrieben:Aber wozu willst du das so genau wissen? Es ist doch nicht wichtig wie schnell ein Kompiler bei kleinen Programmen ist, sondern erst bei größeren Programmen, und wenn man da selber kaum einen Unterschied in der benötigten Zeit zum Kompilieren des gleichen Codes bemerkt, dann ist es doch egal welchen man nimmt, da es ja nicht auf Mikrosekunden ankommt.
Was für ein Betriebssystem verwendest du denn?
"Make it idiot-proof and someone will invent an even better idiot." (programmers wisdom)
OpenGL Tutorials und vieles mehr rund ums Programmieren: http://www.tomprogs.at
OpenGL Tutorials und vieles mehr rund ums Programmieren: http://www.tomprogs.at
Re: Kompilierzeit mit _ftime
Windows Vista. Ist das wichtig. Es _soll_ die Funktion _ftime verwendet werden...Kerli hat geschrieben:Was für ein Betriebssystem verwendest du denn?
Re: Kompilierzeit mit _ftime
Windows Vista. Ist das wichtig? Es _soll_ die Funktion _ftime verwendet werden...Kerli hat geschrieben:Was für ein Betriebssystem verwendest du denn?
Lg
EDIT: Kannst ja bitte gleich den Namen auf "Laufzeit eines Programms mit _ftime" oder so setzten
Re: Kompilierzeit mit _ftime
Weshalb _soll_ es _ftime sein? Ich hab - zumindest unter XP - recht gut Erfahrungen mit dem Performancecounter gemacht.nufan hat geschrieben:Windows Vista. Ist das wichtig. Es _soll_ die Funktion _ftime verwendet werden...Kerli hat geschrieben:Was für ein Betriebssystem verwendest du denn?
Code: Alles auswählen
#include <windows.h>
// ...
//Performancecounter initialisieren
LONGLONG llFrequency;
if(!QueryPerformanceFrequency((LARGE_INTEGER*)(&llFrequency)))
{
MessageBox(NULL, "Performancecounter nicht vorhanden.", "Fehler", MB_OK|MB_ICONEXCLAMATION);
}
LONGLONG llStartTime; // Startzeitpunkt
LONGLONG llEndTime; // Endzeitpunkt
double dFrameTime = 0.f;
// Startzeitpunkt messen
QueryPerformanceCounter((LARGE_INTEGER*)(&llStartTime));
// Endzeitpunkt messen und Anzahl der vergangenen Sekunden berechnen
QueryPerformanceCounter((LARGE_INTEGER*)(&llEndTime));
dFrameTime = (double)(llEndTime - llStartTime) / llFrequency;
"Make it idiot-proof and someone will invent an even better idiot." (programmers wisdom)
OpenGL Tutorials und vieles mehr rund ums Programmieren: http://www.tomprogs.at
OpenGL Tutorials und vieles mehr rund ums Programmieren: http://www.tomprogs.at
Re: Kompilierzeit mit _ftime
Weil es Teil der Angabe zum Beispiel ist.Kerli hat geschrieben:Weshalb _soll_ es _ftime sein?
Ich habs jetzt mit ms-Subtrahieren versucht, da kommt immer 0 raus...
Ich muss überprüfen, ob ein Selectsort mit Feldindex oder einer mit Pointer schneller ist.
Natürlich weiß ich das Ergebnis schon, aber am Weg zur Lösung hakts...
Re: Kompilierzeit mit _ftime
Das könnte ein Grund seinnufan hat geschrieben:Weil es Teil der Angabe zum Beispiel ist.Kerli hat geschrieben:Weshalb _soll_ es _ftime sein?
Ist die Differenz vielleicht so klein, dass es keinen Unterschied in dieser Größe gibt? ms sind für ein Konsolenprogramm schon eine sehr große Einheit. Vielleicht solltest du einmal schauen was sich ändert wenn du deine Abfrage öfters durchführst und diese Zeit stoppst.nufan hat geschrieben: Ich habs jetzt mit ms-Subtrahieren versucht, da kommt immer 0 raus...
Du darfst dabei halt nicht auf die Sekunden vergessen, falls es zu lang wird...
"Make it idiot-proof and someone will invent an even better idiot." (programmers wisdom)
OpenGL Tutorials und vieles mehr rund ums Programmieren: http://www.tomprogs.at
OpenGL Tutorials und vieles mehr rund ums Programmieren: http://www.tomprogs.at