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;
 
}