1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

[C] obter o tempo com a maior precisão possível

Discussão em 'Programação' iniciada por tripas, 27 de Junho de 2009. (Respostas: 4; Visualizações: 1263)

  1. tripas

    tripas To fold or to FOLD?

    Ola,

    Estou a precisar de obter o tempo (do relógio) com a maior precisão possível.

    A linguagem é o C e o sistema operativo é o Linux.

    O tempo pode ser o numero de milisegundos (ou melhor) deste 1 jan de 1970
     
  2. Aparicio

    Aparicio /dev/mod
    Staff Member

    http://www.meangene.com/notes/time.html

    Código:
    #include <stdio.h>
    #include <sys/timeb.h>
    
    int main(int argc,char *argv[])
    {
        struct timeb tp;
        
        while (1)
        {
            ftime(&tp);
            printf("time = %ld.%d\n",tp.time, tp.millitm);
        }
        
    return 0;
    }
    
     
  3. Mais uma ajuda:

    Código:
    #include <sys/time.h>
    #include <unistd.h>
    #include <stdio.h>
    
    struct timeval cTime;
    
    //double com o tempo em microsegundos
    double getTime() {
      gettimeofday(&cTime, NULL);
      return(1e6*cTime.tv_sec+cTime.tv_usec);
    }
    
     
  4. nunoemanuel

    nunoemanuel Power Member


    Boas,

    Se quiseres analisar uma função qualquer, aconselho-te a usares uma aplicação de profiling. Por exemplo, o Oprofile ou o gprof.

    Cumprimentos
     
  5. tripas

    tripas To fold or to FOLD?


    Não serve, eu quero deixar o computador a computar diferentes coisas enquanto vou estar a dormir

    Vou ter 8 cores a bombar a testar como diferentes combinações de soluções blockin/non-blockin se portam mediante determinado numero de processos (que vai variando).
     

Partilhar esta Página