Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2002
    Messaggi
    11

    [C] timer in ANSI C in ms

    E' possibile?
    Sto cercando di realizzare per esercizio un programma (in C non c++) che calcola i numeri primi, vorrei misurare il tempo che impiega la CPU a calcolare ad esempio fino a 1.000.000 (a scopo di benchmark )
    Fino ad ora (anche usando il search del forum) sono riuscito sono a misurare il tempo in secondi (usando la funzione time() prima e dopo il calcolo e facendo la differenza), ma avrei bisogno di misurare il tempo in millisecondi (ms).
    Qualcuno può aiutarmi? Grazie mille.
    Windows XP professional: dev-c++ 5/visual studio .net
    Suse linux 9: gcc/netbean IDE

  2. #2
    Utente di HTML.it
    Registrato dal
    May 2002
    Messaggi
    11
    Dimenticavo: se fosse possibile vorrei che fosse multipiattaforma (ovvero usare funzioni che compilano anche su linux)
    Windows XP professional: dev-c++ 5/visual studio .net
    Suse linux 9: gcc/netbean IDE

  3. #3
    Utente di HTML.it L'avatar di AR64S-H
    Registrato dal
    Jun 2002
    Messaggi
    568
    Ti aiuto ad alzare il tread perchè interessa anche a me!
    Ciao

  4. #4
    Utente di HTML.it
    Registrato dal
    May 2002
    Messaggi
    11
    dunque ho provato così ma nn funziona:

    #include <time.h>

    ...

    struct timeval t1,t2;

    e ho quindi usato la funzione:

    gettimeofday(t1, NULL);

    /* funzione da timerare */

    gettimeofday(t2, NULL);

    tempo=t2.usec - t1.usec;

    prima e dopo ciò ke devo monitorare.
    Dovrebbe dare la differenza in ms, eppure non compila:

    "storage size of `t1' isn't known"
    "storage size of `t2' isn't known"

    Ho provato anke a dichiarare t1 e t2 come puntatori, ma al momento della malloc mi dice ke timeval non esiste...

    Qualcuno sa aiutarmi?
    Windows XP professional: dev-c++ 5/visual studio .net
    Suse linux 9: gcc/netbean IDE

  5. #5
    Utente di HTML.it
    Registrato dal
    May 2002
    Messaggi
    11
    ho risolto usando la funzione:

    clock_t clock(void);

    grazie lo stesso.

    x AR64S-H:
    ti faccio un es..:

    void main()
    {
    clock_t t1,t2,tempo;
    ...

    t1 = clock();

    funzionechevuoitu();

    t2 = clock();

    tempo=t2-t1;

    }

    spero ke ti sia di aiuto
    Windows XP professional: dev-c++ 5/visual studio .net
    Suse linux 9: gcc/netbean IDE

  6. #6
    Utente di HTML.it L'avatar di AR64S-H
    Registrato dal
    Jun 2002
    Messaggi
    568
    Beh grazie lo stesso ma questa funzione la conosco l'ho studiata un pò di giorni fa. Proprio dopo che ho letto il tuo post, ma non mi sono potuto ricollegare e non te l'ho potuta dire.
    Grazie lo stesso e scusa

  7. #7
    Utente di HTML.it
    Registrato dal
    May 2002
    Messaggi
    11
    Non preoccuparti basta che mi funzioni il prog
    Windows XP professional: dev-c++ 5/visual studio .net
    Suse linux 9: gcc/netbean IDE

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.