Laufzeitmessung eines Programms
Wie lange brauchte ein Programm für seine Abarbeitung?
einfach kompilieren und dann ausführen. Bsp:
laufzeit tree
- laufzeit.c
// Laufzeit eines Programms messen(wie in Linux mit dem time-befehl)
// Programm mit dem LCC-Compiler übersetzen:
// lcc laufzeit.c
// lcclnk -s laufzeit.obj
// es werden nur ganze sekunden angezeigt
#include <windows.h>
#include <stdio.h>
#include <process.h>
#include <errno.h>
#include <time.h>
//------------------------------------
int main(int argc, char *argv[])
{
if (argc == 1)
{
printf("usage: laufzeit.exe programmname z.B. laufzeit tree\n");
printf("mail: richard@borwinius.de\n");
exit (1);
}
else
{
char *buf1,*buf2,*cmd,*p1,buf3[MAX_PATH];
int i = 0;
int j =0;
long d = 0;
time_t st1,st2;
//int ret = 0;
printf("argc :%d\n",argc);
cmd=strdup(GetCommandLine());
p1=strtok(cmd," ");
buf1=strtok(NULL," ");
if (buf1)printf("prog :%s\n", buf1);
buf2=strtok(NULL,"\0");
if (buf2)printf("args :%s\n", buf2);
st1=time(NULL); //Startzeit
printf("Programmstart:\n");
if(spawnlp(P_WAIT,buf1,buf2,buf2, NULL))
{
printf("\nFehler bei der Ausfuehrung des Programms: %s\n",buf1);
exit (1);
}
st2=time(NULL); //Endzeit
printf("\nProgrammende:\n");
d=st2-st1; // Differenz der beiden Zeiten
printf("\n\nStart=%d\nEnde =%d\nDiff =%d Sekunden",st1,st2,d);
}
return 0;
}