Zeitmessungen



  • hallo,

    ich möchte gerne die zeit in einem c programm messen,
    aber ich weiß leider nicht wie ich das anstellen soll!

    starte_zeit()
    
    for( i=0; i<n; i++)
        wichtig();
    
    zeit = stoppezeit();
    
    printf("zeit: %f sekunden", zeit);
    

    wichtig wäre mir auch die zahl hinter dem komma.





  • habe ich das richtig erkannt bzw richtig umgesetzt?

    #include <stdio.h>
    #include <stdlib.h>
    
    #include <time.h>
    
    #define N 100000
    
    void main()
    {
    	int i;
    	clock_t start,ende,diff,rest;
    
    	start = clock();
    	for( i=0; i < N; i++)
    		;
    	ende = clock();
    
    	diff = (ende - start) / 60;
    	rest = (ende -start) % 60;
    
    	printf("\n");
    	printf("start: %d \n", start);
    	printf("ende: %d \n", ende);
    	printf("diff: %d,%d \n", diff, rest);
    	printf("\n");
    }
    


  • Verwende die Konstante CLOCKS_PER_SEC

    #include <stdio.h>
    #include <stdlib.h>
    #include <time.h>
    
    int main(void) {
    
       clock_t prgstart, prgende;
       int c;
    
       prgstart=clock();
       printf("Geben Sie etwas ein und beenden Sie mit #\n");
       printf("\n > ");
    
       while((c=getchar())!= '#')
          putchar(c);
    
       prgende=clock();
    
       printf("Die Programmlaufzeit betrug %.2f Sekunden\n",
          (float)(prgende-prgstart) / CLOCKS_PER_SEC);
    
       return EXIT_SUCCESS;
    }
    


  • Wobei clock() sich manchmal etwas eigentümlich anfühlt. Man sollte halt mal in der Doku nachgesehen haben, was die Funktion macht.

    #include <stdio.h>
    #include <time.h>
    
    int main(void)
    {
        int dummy;
        clock_t s;
    
        s = clock();
    
        scanf("%d", &dummy);
    
        printf("Laufzeit in Sekunden: %g\n", (double)(clock()-s)/CLOCKS_PER_SEC);
    
        return 0;
    }
    

Anmelden zum Antworten